Общее использование для Свойства тегов

Статья, написанная Полом Айришем о генераторе случайных шестнадцатеричных цветовых кодов в JavaScript, просто поразительна. Используйте:

'#'+Math.floor(Math.random()*16777215).toString(16);

Вот ссылка на источник:

http://www.paulirish.com/2009/random-hex-color-code-snippets/

9
задан 3 revs 29 June 2009 в 14:43
поделиться

4 ответа

Как вы описываете, наиболее частое использование свойства Tag , которое я встречал и использую в WinForms, WPF и Silverlight, - это указать реальные данные, которые контроль относится к. Это особенно полезно для экземпляров ListViewItem или автоматически сгенерированного пользовательского интерфейса, где вы хотите использовать один и тот же обработчик событий для нескольких объектов, где различаются только целевые данные (т. Е. Выполняемое действие остается тем же).

Тем не менее, я также использовал тег для хранения значения перечисления (хотя вам следует избегать типов значений, поскольку это может вызвать бокс при присвоении значения свойству Tag ) или строка, которая затем используется для определения действия, которое необходимо выполнить, вместо данных, с которыми оно выполняется, и в одном конкретном случае использования,

10
ответ дан 4 December 2019 в 11:07
поделиться

Свойство Tag - древнее (в терминах языка программирования), присущее элементам управления. Насколько мне известно, он использовался во всем, от Visual Basic, delphi и почти во всех других языках, основанных на графическом интерфейсе.

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

Я видел, как он используется для всего, от счетчика до хранения идентификатора записи, к которой привязан элемент управления.

3
ответ дан 4 December 2019 в 11:07
поделиться

I use it all the time with ListViews and TreeViews. It makes trying to find the underlying data much easier. In fact, I'm not sure how you'd make a readable Winforms application without it.

I also use it a lot when creating ContextMenus at run-time. I stuff an object into the Tag member of each ToolStripMenuItem and then I can point each menu item's click handler at the same method. It results in a lot less code.

I just wish it didn't require so much casting.

3
ответ дан 4 December 2019 в 11:07
поделиться

It is a bit of a kludge. It is often used in for instance a TreeView to link a Node to a data element.

But I would not over-use it, since it is very public and not very flexible. Note that you can almost always use a Dictionary< Control, ValueType> instead, and have a lot more control that way.

3
ответ дан 4 December 2019 в 11:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: