CheckBox теги и коды - PullRequest
       10

CheckBox теги и коды

0 голосов
/ 05 февраля 2010

В TreeView вы можете добавить тег к узлу. В флажок ... вы не можете. Я нашел TreeViews полезным, потому что это позволило мне использовать имя для значения «display» и текст для дополнительной информации. Пример имени как "Google" и тега как "http://google.com".

Как это можно сделать с помощью флажков? Я знаю, что флажок принимает и возражает, поэтому я могу просто создать новый класс, который позволяет строку и тег, и добавить это сделать таким образом?

Или есть более простой способ?

1 Ответ

3 голосов
/ 05 февраля 2010

Оба System.Windows.Forms.CheckBox (WinForms) и System.Windows.Controls.CheckBox (WPF) имеют свойство Tag с общедоступными get и set средствами доступа. Это связано с тем, что в каждом случае есть базовый класс, предоставляющий такое свойство (в случае WinForms это Control.Tag, а в случае WPF это FrameworkElement.Tag) .

Обратите внимание, что свойство Tag имеет тип object. Все, что можно назначить экземпляру object, можно назначить свойству Tag. В частности, вы можете назначить экземпляр string. Когда вы читаете свойство Tag, вы должны привести его обратно к string:

// checkBox is CheckBox
string s = (string)checkBox.Tag;

В качестве альтернативы вы могли бы сказать

// checkBox is CheckBox
string s = checkBox.Tag.ToString();

Наконец, вы можете наследовать от CheckBox и предоставить свойство Tag, которое имеет тип string, которое скрывает базовую реализацию:

class MyCheckBox : CheckBox {
    public new string Tag { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...