2011-09-15 4 views
1

NumericUpDownのすべてのコントロールにsupertooltip(DotNetBarから)を表示させます。しかし、私はNumericUpDownのTextBox上にsupertooltipが必要です。ここに私の現在のコードはあります:NumericUpDownの1つのコントロールでのみ機能する

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

を達成するためにLINQを使用します。

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

またはこのように、あなたのforeachを変更し、同じ

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

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

をいただきありがとうございますをあなたの速い答えと良い説明!しかし私はより短いコードを好む。 – HitomiKun

関連する問題