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);
【编辑推荐】