Рисование пользовательских элементов управления TextBox - PullRequest
0 голосов
/ 11 августа 2011

Я нашел этот код здесь , который объясняет, как создавать собственные элементы управления.Я использовал эти элементы управления в качестве кнопок, но теперь, когда я начинаю понимать код немного больше, я хотел бы попытаться создать элемент управления текстового поля, используя те же методы рисования.Я бесконечно искал несколько примеров на эту тему, но не могу найти ни одного.Я не понимаю, как текстовое поле может быть доступно для записи, если для его создания используется прямоугольник.У кого-нибудь есть опыт создания пользовательских элементов управления в C #?Я хотел бы, чтобы мое текстовое поле соответствовало теме в приведенной выше ссылке, поэтому оно должно быть выполнено на заказ.

1 Ответ

3 голосов
/ 11 августа 2011

Ну, в начале вы должны иметь в виду, что реализация нового элемента управления текстовым полем довольно сложная вещь.Необходимо учитывать следующие моменты:

1) Что должно делать ваше текстовое поле?Как пользователь может взаимодействовать с ним?Какие события вы обязательно выбрасываете?2) Как вы должны нарисовать текстовое поле?Это простой блок с контуром или у вас есть элементы, которые отличаются, если пользователь взаимодействует.

Хорошая отправная точка для реализации вашего собственного текстового поля - посмотреть, как оно работает под капотом - на самом деле,Вы должны начать со ссылки на примеры, которые пришли из области DirectX и DirectDrawing, один пример - следующая ссылка (пример для c ++, но концепции те же, что и в windowsforms или рисовании wpf):

http://www.uc -forum.com / forum / d3d-tutorials-and-source / 65377-make-textbox-ingame-console-directx.html

более прямой пример (объясняющий какрасширить существующее текстовое поле) можно найти здесь: http://www.codedblog.com/2007/09/17/owner-drawing-a-windowsforms-textbox/

В общем, для достижения своей цели попробуйте расширить базовое текстовое поле в начале, а затем начать с компонента, который не так сложен, дляПример простой флажок.Продолжайте, и в конце вы сможете реализовать свой собственный элемент управления текстовым полем;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...