Здравствуйте, McSeem2, Вы писали:
MS>Твой код не компилируется. О, это была пестня. Сейчас насмешу. Ну запустил я студию (2003), создал новый C# Windows App. Дальше что? Копируем класс из твоего сообщения. Что за слово "partial"? Не знаем такого.
ключевое слово: net 2.0. (Ты же не стал бы обижаться, если бы примеры из страуструпа отказались компилироваться на Classic С Compiler?).
MS>Ладно, убираем. Но какую кнопку надо нажать, чтобы в Properties.Resources образовался Image1? Я такой не нашел. Но до этого дело даже не дошло — оно жалуется "System.Windows.Forms.Control.Properties is inaccessible due to its protection level". Это навеяло мне древнюю бодягу с MFC. Сначала там все данные и многие функции были private. Но с каждой новой версией все становилось все более и более public. И сейчас я тоже испытал мощное дежа-вю.
MS>Но ладно, я решил, что можно и вручную загрузить. Смотрим класс Image и не находим у него ни конструктора с именем файла, ни метода Load.
Гм. А как же Image.FromFile()?
MS>Ищем в интернете TextureBrush, находим, что надо использовать не Image, а Bitmap. Хорошо, пишем Bitmap bmp = new Bitmap("1.bmp"); и получаем облом — исключение. Оно не находит файла в каталоге проекта (какой там текущий каталог — я не знаю и как это выяснить — тоже не знаю).
Гм. Боюсь тебя разочаровать, но эта проблема никакого отношения к дотнету не имеет. Это винда. Текущий каталог может показывать куда угодно. Я не очень понимаю, что именно ты имел в виду, когда указывал относительный путь. Тем более этого не понимает винда.
MS> Поскольку нам надо только проверить, пишем абсолюный путь. И вот только теперь у нас все получилось.
Все правильно. Если бы нам надо было реализовать какое-то другое поведение, то понадобилось бы сначала его продумать, а уже потом реализовывать.
Например, я бы этот битмэп вставил как Embedded Resource, и грузил через Image.FromStream(Assembly.GetManifestResourceStream()).
MS>Какая-то бесталанность во всем этом присутствует, вот за что я не люблю дот-нет — на выяснение самых элементарных вещей уходит уйма времени. А спросить стыдно — засмеют

И правильно, что стыдно. Потому что в дотнете как раз все очень логично и интуитивно понятно. Но эта интуиция забесплатно не дается. Хотя по сравнению с тем, сколько времени я убил на разбирательство с логикой #include при ознакомлении с С++, тонкости дотнета — это децкий лепед. Просто ты привык к определенным особенностям, и используешь их не задумываясь. Поработай с дотнетом — и будешь находить информацию еще и быстрее чем сейчас.
VD>>Понимаеш ли. Я говорил о том о чем говорил. Тут кто-то начал с очень пафосным видом рассказывать о том что я "гоню". Этот код как бы объясняет этому кому-то о том, что он не прав.
MS>Не объясняет. Если я создаю Pen в виде кисти, я в праве ожидать корректного поведения. Вот представь, что на тебе надет костюм в полоску. Ты сгибаешь руку в локте и обрати внимание — полоски идут вдоль руки. А то, что дает этот Pen(Brush) — очень похоже на детский рисунок (или дешевый комикс), в котором все полоски на костюме идут вертикально, вне зависимости от наклона рук-ног. Ну то есть вот можешь ты создать такой Pen, но зачем он вообще нужен? Что есть он, что нет — никакой разницы.
Опять ты смешиваешь архитектуру и реализацию. Вот не надо переносить косяки реализации на архитектуру. Да, парни, которые реализовывали это дело — халтурщики. И что теперь, выкидывать базовый класс из-за того, что есть убогие наследники?


1.1.4 stable rev. 510