как показать подсвечивающие стрелки как в Coderush - PullRequest
1 голос
/ 20 декабря 2008

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

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

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

http://www.aspnetpro.com/productreviews/2004/08/asp200408bn_p/asp200408bn_p_image002.jpg
(источник: aspnetpro.com )

<a href="http://www.aspnetpro.com/productreviews/2004/08/asp200408bn_p/asp200408bn_p_image002.jpg" rel="nofollow noreferrer">http://www.aspnetpro.com/productreviews/2004/08/asp200408bn_p/asp200408bn_p_image002.jpg</a>

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

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

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

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

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

спасибо
Anna

Ответы [ 3 ]

1 голос
/ 22 декабря 2008

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

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

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

  • корректная очистка, если вы преждевременно закрыли «родительскую» форму и ...
  • Передача любых событий клика в «родительскую» форму.
1 голос
/ 28 марта 2009

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

1 голос
/ 20 декабря 2008

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

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