Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648

Как увидеть отрисовку пользовательского компонента в дизайнере?

21.11.2016, 08:44. Показов 1618. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем здравствуйте.
Есть стандартный пустой компонент, представленный в своём дизайнере прямоугольником.
Задача: нарисовать на нём графический примитив, причём видеть этот примитив мы хотим уже на этапе разработки компонента (в его дизайнере) а не только на этапе работы с этим компонентом при размещении его экземпляра на WindowsForm.
Представленную ниже отрисовку мы будем видеть на готовом компоненте (размещённом на форме), но не увидим в дизайнере разработки компонента:
VB.NET
1
2
3
4
 
   Private Sub Me_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        e.Graphics.DrawRectangle(System.Drawing.Pens.Red, 10, 10, 200, 20)
    End Sub
Применение метода OnPaintAdornments класса ControlDesigner только скрывает нашу графику при запуске программы на выполнение.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.11.2016, 08:44
Ответы с готовыми решениями:

Запрет добавления компонента на форму в дизайнере
Как правильно запретить добавление компонента на форму в дизайнере по определенному условию (условие, допустим, в конструкторе компонента)?...

Категория атрибутов в дизайнере для компонента
Создаю новый компонент, хочу вывести свойства в дизайнер, но не выходит объединить их в одну категорию public bool btnMinEnabled...

Запретить в дизайнере изменять высоту у своего компонента
Всем привет! Создал свой простенький контрол, и хочу сделать так, чтобы он мог изменять только ширину, как у Textbox когда он находится в...

5
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
21.11.2016, 11:33
jkrnd, вообще-то все отображается в дизайнере без каких-либо дополнительных телодвижений, причем независимо от того, размещен ли этот код в обработчике события Paint или в переопределенном методе OnPaint. Другой вопрос, что, возможно, ты что-то в контролдизайнере намудрил, что оно перестало отображаться.
1
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
21.11.2016, 11:42  [ТС]
diadiavova, откройте контрол в его дизайнере и Вы увидите пустое окно. Откройте дизайнер формы, разместите на нём контрол и Вы увидите контрол с графикой.
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
21.11.2016, 11:44
Цитата Сообщение от jkrnd Посмотреть сообщение
diadiavova, откройте контрол в его дизайнере и Вы увидите пустое окно. Откройте дизайнер формы, разместите на нём контрол и Вы увидите контрол с графикой.
Я это сделал (на всякий случай, вдруг что забыл) аккурат перед тем, как отправить предыдущий пост. Проект сейчас посмотрю.
1
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
21.11.2016, 12:01
Лучший ответ Сообщение было отмечено jkrnd как решение

Решение

jkrnd, я поначалу подумал, что, возможно, ты забыл проект построить, перед тем как смотреть, отображаются ли изменения, но вот какая картина предстала передо мной когда я открыл форму в дизайнере. Из этого делаю вывод, что я неправильно понял суть вопроса. По всей видимости ты хочешь, чтобы изменения отображались в дизайнере самого юзерконтрола, который ты в данный момент разрабатываешь. Так вряд ли возможно. Если уж "кровь с носа" нужно, то придется создать еще производный контрол и разрабатывать его, все, что ты хочешь видеть в режиме дизайнера пиши в базовом классе и после построения контрола в дизайнере производного изменения будут видны.
Миниатюры
Как увидеть отрисовку пользовательского компонента в дизайнере?  
2
 Аватар для jkrnd
179 / 69 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
21.11.2016, 12:07  [ТС]
diadiavova, Всё понял, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2016, 12:07
Помогаю со студенческими работами здесь

Создать свое свойство у пользовательского компонента
Доброго времени суток. Подскажите Каким образом у пользовательского контрола создать свое свойство, например Caption, так, чтобы его можно...

Как заставить свойство "Text" компонента Label забиндиться на свойство TheChar из пользовательского класса
Здравствуйте, не получается заставить свойство "Text" компонента Label забиндиться на свойство TheChar из моего класса, основанного на...

Обновление пользовательского компонента WinForms при изменении одного из его свойств
Добрый день! Я создаю внешний .Net Control компонент для Scada системы. Компонент имеет свойство State, которое связывается с тэгом...

Как взаимодействовать со значением свойства пользовательского элемента в коде этого пользовательского элемента?
Здравствуйте. Я сделал пользовательский элемент, попытался создать в нём свойство и затем обработать его значение внутри этого элемента. Не...

Как ускорить отрисовку изображения?
Доброго времени суток. Столкнулся с такой проблемой: Необходимо загрузить инвертированное изображение, обратить цвета (сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru