![]() |
Модераторы: diadiavova, gambit |
![]() ![]() ![]() |
|
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
У меня следующая проблема:
Прога которая должна при нажатии кнопки: "нарисовать четырехугольник", "нарисовать треугольник", "нарисовать дугу" и ввода параметров высота и ширина отображать соответственные фигуры, в общем это получается. Но обьекты прорисовываются тупо в форме а мне нужно чтобы прорисовывалась в ImageBox. И еще при сворачивании, изменении размера окна изображения исчезают. Я добавляю проект о котором говорю. Что мне посоветуете делать? P.S. ![]() Присоединённый файл ( Кол-во скачиваний: 6 ) ![]() |
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: нет Всего: 17 |
1) Про элемент ImageBox не слышал, есть PictureBox.
2) Чтобы объекты тупо рисовались в твоем контроле, а не в форме, нужно в контроле и рисовать. 3) Чтобы при сворачивании, изменении размера изображения не исчезали, прорисовку необходимо делать в событии Paint, а в обработчиках нажатия кнопок только лишь вызывать метод Invalidate (Refresh, Update, какой больше нравится). И все у тебя получится. 4) Проект твой не скачивал, т.к. твоя проблема давно известна. -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
Извени за тупой вопрос
![]() |
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: нет Всего: 17 |
Очевидно, добавив к нему обработчик события:
Данный код работает не только для PictureBox, но и еще для многих контролов -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
В общем я понял это действие, но не могу взять в толк что за "конструктор"?
![]() |
|||
|
||||
Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: нет Всего: 17 |
В случае с VB.NET - это процедура
Если ты создавал форму при помощи дизайнера, то, если не ошибаюсь, должна быть эта процедура и в ней вызов метода InitializeComponents() Вот после этого метода и вставляй AddHandler. Хотя можно и проще: в окне студии, где твой код, на панели вверху есть два длинных комбобокса В левом перечислены твои компоненты, выбирай свой пикчербокс, в правом для него перечислены доступные события, выбирай Paint и... дальше сам увидишь. Это сообщение отредактировал(а) Experimenter - 2.8.2008, 14:02 -------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
Ага спасибо
![]() ----------------------------------------------- А теперь возникает вопрос как инициировать событие pictureBox1.Paint ? Это сообщение отредактировал(а) Vello - 4.8.2008, 13:26 |
|||
|
||||
Experimenter |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: нет Всего: 17 |
Прочти еще раз внимательно. Любой из вышеназванных методов вызовет перерисовку твоего контрола (событие Paint).
-------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
||||
|
|||||
Vello |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 15.7.2008 Репутация: нет Всего: нет |
Все спасибо еще раз, извините за не внимательность. Вопрос решен
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума VB .NET | |
|
Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB .NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |