2011-09-15 2 views
1

Я позволю supertooltip (из DotNetBar) появиться на каждом элементе управления NumericUpDown. Но мне нужно только supertooltip в текстовом поле NumericUpDown. Вот мой текущий код:Выполняйте только функцию 1 Управление NumericUpDown

foreach (Control c in NumericUpDown.Controls) 
{ 
    NumericUpDownToolTip.SetSuperTooltip(c, NumericUpDownSuperToolTip); 
} 

//Declarations: 
//NumericUpDownToolTip is a SuperToolTip from DotNetBar 
//NumericUpDownSuperToolTip is the configuration of the SuperToolTip (for example: the text of the tooltip) 

Как настроить всплывающую подсказку только в текстовом поле?

ответ

2

Измените Еогеасп таким:

foreach (Control c in NumericUpDown.Controls.OfType<TextBox>()) 
+0

Спасибо! Короткий код, легкий и работает как шарм. – HitomiKun

0

Вы могли бы сделать это по старинке:

foreach (Control c in NumericUpDown.Controls) 
{ 
    if (!(c is TextBox)) continue; 
    NumericUpDownToolTip.SetSuperTooltip(c, NumericUpDownSuperToolTip); 
} 

Или использовать LINQ для выполнения той же

var controls = NumericUpDown.Controls.Where(c => c is TextBox); 

foreach (Control c in controls) 
    NumericUpDownToolTip.SetSuperTooltip(c, NumericUpDownSuperToolTip); 
+0

Благодарим Вас за ваш быстрый ответ и хорошее объяснение! Но я предпочитаю более короткий код. – HitomiKun

Смежные вопросы