C# Control類的顯式轉換主要應用於一些強制轉換類型,要先用FOREACH進行了類型判斷,然後將C# Control類轉換成相對應的類型。
關於將C# Control類強制轉換成其它服務器控件類型的提問
對頁面內的所有服務器控件用FOREACH進行了類型判斷,然後要將它們各自從C# Control類轉換成其各自的類型,如果TEXTBOX等等來著..
問題補充:
foreach
(Control ctl
in
this
.Controls)
{
if
(ctl的類型是Panel 而且 ID 是 PanelX)
{
將這個Panel失效,並且隱藏
}
else
(ctl的類型是Panel 而且 ID 不是 PanelX)
{
這個Panel有效,並且可見
}
}
C# Control類進行顯示轉換
foreach
(Control ctrol
in
this
.panel1.Controls )
{
if
( ctrol.GetType().ToString() == "System.Windows.Forms.TextBox" ) )
{
TextBox txt1=(TextBox)ctrol ;
}
else
if
(control
is
System.Windows.Forms.Button)
{
// control object 轉成 Button object 類別
Button button = (Button)control;
// 清除 Button 上面的文字
button.Text = "";
}
}
標准判斷的方法應該是:
obj.GetType() == typeof(System.Windows.Forms.TextBox);