以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]通过判断控件名来设置控件的Enabled属性为何不起作用? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42278) |
-- 作者:loongtai -- 发布时间:2013/11/7 15:22:00 -- [求助]通过判断控件名来设置控件的Enabled属性为何不起作用? 如题,除文本框和目录树外,其它控件均不可用。但是按我在窗口的AfterLoad事件中的代码,好像所有控件都不可用,第二段代码不起作用? For Each c As winform.control In e.Form.controls c.Enabled=False Next ’第二段:设定enabled可用控件 For Each c As winform.control In e.Form.controls If c.name="TextBox1" Or c.name="TreeView1" Then c.Enabled=True End If Next |
-- 作者:Bin -- 发布时间:2013/11/7 15:35:00 -- 是因为你把容器设置了不可用,容器里面的所有控件自然就都不可用了. |
-- 作者:loongtai -- 发布时间:2013/11/7 15:41:00 -- 哦,原来这样啊。 如果要遍历一个名为Spc的SplitContainer型控件里的所有子控件,该怎么写? For each c as winform.control in Spc next
|
-- 作者:Bin -- 发布时间:2013/11/7 15:44:00 -- For Each c As winform.control In e.Form.controls("SplitContainer1").panel1.Children For Each c As winform.control In e.Form.controls("SplitContainer1").panel2.Children
|
-- 作者:loongtai -- 发布时间:2013/11/7 16:03:00 -- For Each c As winform.control In e.Form.controls If Typeof c Is winform.splitcontainer OrElse Typeof c Is winform.groupbox Then \'将分区面板类型的控件设为true c.enabled=True ElseIf c.name="TextBox1" Or c.name="TreeView1" Then \'再来设置单个控件 c.Enabled=True Else c.Enabled=False End If Next 可得到的结果 ,textbox1仍然不可用。问题出在哪呢?
|
-- 作者:Bin -- 发布时间:2013/11/7 16:33:00 -- 你怎么还是这样做呀 For Each c As winform.control In e.Form.controls("SplitContainer1").panel1.Children If c.name<>"TextBox1" AndAlso c.name<>"TreeView1" Then c.Enabled=False End If Next |