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