Работать только на 1 элемент управления NumericUpDown - PullRequest
1 голос
/ 15 сентября 2011

Я позволил всплывающей подсказке (из DotNetBar) появляться на каждом элементе управления NumericUpDown. Но мне нужен только суперинструмент для TextBox в 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 ]

2 голосов
/ 15 сентября 2011

Измените ваш foreach, чтобы он был таким:

foreach (Control c in NumericUpDown.Controls.OfType<TextBox>())
0 голосов
/ 15 сентября 2011

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

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);
...