將C# Control類強制轉換成其它服務器控件類型
作者:佚名
本文將從一個用戶的提問開始,疑惑是從將C# Control類強制轉換成其它服務器控件類型開始的,希望后面的回答能對大家有所幫助。
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);
【編輯推薦】
責任編輯:彭凡
來源:
51CTO.com