怎么遍历winform控件的属性?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么遍历winform控件的属性?相关的知识,希望对你有一定的参考价值。
是遍历所有控件的某一个属性还是,某一个控件的所有属性?如果是第一种,可参照如下
foreach(control c in this.controls)
if(control is button)
Button b=control as Button;
……
如果是第二种,直接this.button1.name="";这样就OK了 参考技术A 用反射
for (int i = 0; i < f.textbox.GetType().GetProperties().Length; i++)
MessageBox.Show(button1.GetType().GetProperties()[i].Name);
----------------------------------
f.textbox.GetType().GetProperties().Length,代表他属性的数量
GetType().GetProperties()[i].Name属性的名字
给对应的属性赋值,好像是
GetType().GetProperties()[“属性名"].value=赋值
具体记不得了
winform 中 遍历整个窗体中所有的控件,他按照一个怎么样的顺序来,遍历的呢?
不解,,请那位大侠,,帮帮忙,,
为什么?我设置了tabIndex 值 ,但是并没有改变遍历时的顺序,
我又在InitializeComponent()设计器方法中,改变控件显示的位置,还是没有效果呢?
他的遍历顺序是按照最后一个控件来,遍历的,,
所以导致我在验证的时候,如果用遍历整个窗体中控件来研制是否为空值的话,就不行了。。
急啊
!!!
在线等,,,帮帮忙,,,谢谢了。。
按照这个思路,我相信你可以想到很多种解决办法了... 参考技术A tabindex的作用是用户在按tab键时,控件获取焦点的顺序。
窗体中遍历控件的顺序,是根据你添加那些控件的顺序的反序。
比如你添加控件的顺序为"按钮,文本框,单选按钮",那么遍历时候就是"单选按钮,文本框,按钮"。追问
是的啊!所以我想按照正常的顺序提示给用户信息、、
追答因为添加的控件的顺序可能不是按界面上看到的顺序,或是以后可能会调整界面控件位置,所以如果你想按顺序给用户提示,就最好别用遍历了。
手动按控件顺序一个个控件验证吧
可以加上判断条件
例如
foreach (Control ctl in this.Controls)
if (ctl is TextBox || ctl is ComboBox )
……
不知道你是否明白了? 参考技术C 用一个tabIndex的从小到大的循环
里面嵌套控件的遍历,判断控件ID是否为tabIndex,如果是,则作相应操作
给你个示例(此示例没有做某个控件下面有控件子集的判断,如果有需要你自己加上)
for (int tabID = 1; tabID < 100; tabID++)
foreach (Control tmpCtrl in this.Controls)
if (tmpCtrl.TabIndex == tabID)
MessageBox.Show(tmpCtrl.Name);
有事请HI我:) 参考技术D tabindex无法变更遍历顺序的
你不需要 非用foreach(Control item in this.Controls) if(item.text=="") ...
这种来循环
你用 for(int i=this.Controls[i]-1;i>-1;i--)if(this.Controls[i]).Text=="".....
这样来循环不就完了。 第5个回答 2011-03-28 支持lcg1986 的说法
不过补充一点
因为Control添加的时候 它还分父层与子层
所以还要一级一级递归才找到所有
呵呵
以上是关于怎么遍历winform控件的属性?的主要内容,如果未能解决你的问题,请参考以下文章
winform 中 遍历整个窗体中所有的控件,他按照一个怎么样的顺序来,遍历的呢?