有一个winform ,是个mdicontainer,上有很多个button,请问怎样得到这些button的集合?
------------------------------------------------------------------------------
要考虑其他的容器控件,比如说Panel最简单的情况如下
foreach(Button b in this.Controls)
{}但是如果有Panel还要对Panel做一个循环所以最好做一个递归的方法
如下:
private void FindButton(Control c)
{
if(c is Button)
{
MessageBox.Show("Button!");
}
if (c.Controls != null)
{
foreach(Control x in c.Controls)
{
FindButton(x);
}
}
}在窗体里面调用
this.FindButton(this);
------------------------------------------------------------------------------
要考虑其他的容器控件,比如说Panel最简单的情况如下
foreach(Button b in this.Controls)
{}但是如果有Panel还要对Panel做一个循环所以最好做一个递归的方法
如下:
private void FindButton(Control c)
{
if(c is Button)
{
MessageBox.Show("Button!");
}
if (c.Controls != null)
{
foreach(Control x in c.Controls)
{
FindButton(x);
}
}
}在窗体里面调用
this.FindButton(this);
解决方案 »
- 如何把图片保存到服务器,使用的时候再从服务器下载到本机
- 如何手动添加列
- 急,主窗体突然不见了
- 下面的文件夹该怎么删除
- C#中stream的read的使用
- 我在一个form2中连接数据库,做了个用户进入窗口,但我想在另一个form1显示在form2中取得的那个用户名出来,应如何做,好高们帮帮忙好吗
- WebBrowser能打开word文档,但如何打印预览
- C#引用了外部dll,脱离编译环境便不能运行,如果不做成安装包,该怎么解决?
- C#能编像'传奇'这样的游戏吗?
- 我是初学者.我有两个C#的基础问题想请教.
- 大虾,请,请,多,多指点(那里有C#的教材下载,我以前是asp.net的vb,而现在要学c#,不知道该看那些教材,)
- SOS! 关于SaveDialog奇怪的问题——打开“我的文档”时会没相应
private void FindButton(Control c)
{
if(c is TextBox)
{
....Enalbe = false; }
if (c.Controls != null)
{
foreach(Control x in c.Controls)
{
FindButton(x);
}
}
}
{
b.Enabled =false;
}不好使呀。
看看书再说话,foreach经常用的。