Как показать стрелки выделения как в Coderush

Я программирую winforms, используя C# и vb.net.

Мне нравятся стрелки, используемые в кодеруше.

для тех, кто не видел стрелок coderush, пожалуйста, посмотрите это изображение.

Как показать стрелки выделения как в Coderush
(source: aspnetpro.com)

http://www.aspnetpro.com/productreviews/2004/08/asp200408bn_p/asp200408bn_p_image002.jpg

Я хочу, чтобы в моей программе было что-то подобное. Единственная разница в том, что я буду использовать его для выделения текстовых полей и кнопок.

Мне нужна только стрелка, текст на стрелке не важен.

Так что, возможно, мне нужно сделать общую функцию, например DrawHighlightArrow (имя элемента управления)

и ему каким-то образом удастся нарисовать стрелку рядом с этим элементом управления

Пожалуйста, предложите хороший способ решить эту проблему на C# или Vb.net

Спасибо
Анна

С какой технологией пользовательского интерфейса вы работаете? Пожалуйста, уточните, пометив теги повторно и упомянув в своем вопросе.

Kent Boogaart 20.12.2008 23:16

Привет, Кент, я делаю приложение winform. У меня и VS2005, и VS2008. Я использую как C#, так и vb.net

Anna 20.12.2008 23:33
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
388
3

Ответы 3

Переопределите метод OnPaint в форме и используйте метод DrawImage () для объекта из свойства PainteEventArgs.Graphics, чтобы нарисовать растровое изображение стрелки.

Напрашивается вопрос: графический объект который? Стрелка, вероятно, будет визуально охватывать несколько элементов управления. Я считаю, что это было в основе этого вопроса.

Konrad Rudolph 20.12.2008 23:40

Относится ли этот комментарий к последней редакции (501829) моего ответа?

Mark Cidade 20.12.2008 23:41

Привет, Маркси, я попробую это сделать. Большое вам спасибо.

Anna 21.12.2008 00:05

Проблема здесь может заключаться в том, что область рисования, занятая текстовыми полями и кнопками, может быть недоступна для рисования в обработчике рисования (обрезанные дочерние элементы) / или будет стерта / перерисована этими дочерними элементами.

liggett78 21.12.2008 00:07

Возможно, потребуется создать подкласс элемента управления текстовым полем.

Mark Cidade 23.12.2008 01:38

Вы мог создаете настраиваемую форму с прозрачным фоном, рисуете на ней свою стрелку с помощью GDI + (используя описанную выше технику marxidad или просто перетаскивая на нее PictureBox и обрабатывая событие Paint).

Затем просто создайте новый экземпляр формы стрелки поверх существующей «родительской» формы (вы, возможно, захотите установить для TopMost значение true) и запустите таймер, чтобы он исчез.

Единственное, о чем следует быть осторожным, это ...

  • правильно очистить, если вы преждевременно закроете "родительскую" форму и ...
  • передача любых событий клика в «родительскую» форму.

Есть действительно хорошая библиотека под названием Locus Effects здесь. Пойдите, проверьте это, он делает именно то, что вы хотите.

Другие вопросы по теме