C#如何获得panel中的控件

哪位朋友知道怎么获得panel中的一个控件呀?我在panel上有个datagrid的控件,我想在panel获得这个控件

要了解他的父容器,或者了解他得某一个特性。

简单举例我在窗体中找一个Panel控件,我只知道他的背景颜色是Color.Red,现在要把他的颜色改成黑色,也不知道他到底放在几个panel里面,就要用到下面语句:

void ViewCtl(Control ctl)
{
    if(ctl is Panel)
    {
        if(ctl.BackColor==Color.Red)
        {
            ctl.BackColor=Color.Black;
        }
    }
}
void ViewForm(Control ctl)
{
    if(ctl.Controls.Count>0)//如果他里面有控件
    {
        foreach(Control ctl in ctl.Controls)//遍历窗体所有控件
        {
            ViewCtl(ctl); //进行操作
        }
        ViewForm(ctl);  //循环事件
    }
    else
    {
        break; //当循环到实在没有控件可找的时候停止
    }
}

如上,ViewForm就是在找到背景为红色的panel,把他染成黑色。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-04
for(int i=0;i<Panel1.Controls.Count;i++)
{
if(Panel1.Controls[i].GetType()==Typeof(datagrid))
{
datagrid dg=(datagrid)(Panel1.Controls[i]);
//dg就是panel中唯一的一个datagrid,很久没写代码了,不知道对不对
}本回答被提问者和网友采纳
第2个回答  2015-07-31
Windows 窗体 Panel 控件用于为其他控件提供可识别的分组。通常,使用面板按功能细分窗体。例如,可能有一个订单窗体,它指定邮寄选项(如使用哪一类通营承运商)。将所有选项分组在一个面板中可向用户提供逻辑可视提示。在设计时所有控件都可以轻松移动 -- 当移动 Panel 控件时,它包含的所有控件也将移动。分组在一个面板中的控件可以通过面板的 Controls 属性进行访问。此属性返回一批 Control 实例,因此,通常需要将该方式检索得到的控件强制转换为它的特定类型。
若要显示滚动条,请将 AutoScroll 属性设置为 true。也可以通过设置 BackColor、BackgroundImage 和 BorderStyle 属性自定义面板的外观。有关 BackColor 和 BackgroundImage 属性的更多信息,请参见“如何设置 Windows 窗体面板的背景”。BorderStyle 属性确定面板轮廓为无可视边框 (None)、简单线条 (FixedSingle) 还是阴影线条 (Fixed3D)。
第3个回答  推荐于2016-02-03
代码如下:
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(panel1.Controls.Count+"");
}
第4个回答  2008-10-15
panel.Controls

C#如何获得panel中的控件
要了解他的父容器,或者了解他得某一个特性。简单举例我在窗体中找一个Panel控件,我只知道他的背景颜色是Color.Red,现在要把他的颜色改成黑色,也不知道他到底放在几个panel里面,就要用到下面语句:void ViewCtl(Control ctl){ if(ctl is Panel) { if(ctl.BackColor==Color.Red) ...

C#如何获得panel中的控件
if(ctl.Controls.Count>0)\/\/如果他里面有控件 { foreach(Control ctl in ctl.Controls)\/\/遍历窗体所有控件 { ViewCtl(ctl); \/\/进行操作 } ViewForm(ctl); \/\/循环事件 } else { break; \/\/当循环到实在没有控件可找的时候停止 } } 如上,ViewForm就是在找到背景为红色的panel,把他染成黑色。 a4725444...

请问C#中我在一个panel控件中添加了ABCD四个按钮,后台代码怎么获取这 ...
获取上面的按钮?可以使用Find和按钮名称来得到,比如查找名为button1的按钮,代码如下:Control[] controls=this.panel1.Controls.Find("button1",false);\/\/controls[0]就是要找的按钮\/\/现在就可以操作它了\/\/其它的控件也可以希望对你有帮助,有疑问请追问或是Hi ...

C# 获取Panel中的子控件属性
1.你知道它的name,panel1.Controls["textbox1"] 返回的是Control类型,你自己(TextBox)一下 2.你知道它的索引值(index),panel1.Controls[0] 返回类型同上 3.你知道它的类型TextBox,好了.你慢慢的foreach controls属性吧.如果你的控件被再次套了一层.那你就得慢慢找了.一层一层的来 ...

...的时候将多个控件选中一起对齐因为在不同panel里有按钮不见了 请问...
在视图菜单-其它窗口-文档大纲,列出了你所有的控件。选中那个控件。可以按方向键移动回来。也可以在属性窗口。改location 。还可以从属性窗口上边的下拉列表框中选择要操作的控件。

C#自己创建了一个控件,想要动态的加载到PANEL中,怎么实现?
假设用户创建的控件叫userControl private void Form1_Load(object sender, EventArgs e){ UserControl uc = new UserControl();UserControl.Enabled = true;UserControl.Text = "123";UserControl.Location = 256;Panel panel1 = new Panel;panel1.Controls.Add(uc);} 当然,也可以在button click...

C#中panel 如何获取健盘事件
关于获取任意键盘事件, 我先整体的说明下. 在C#中:1. 那些支持键盘输入的控件(如TextBox,RichTextBox等), 或者Form窗体, 能够使用Key系列函数(KeyDown, KeyUp, KeyPress). 这些函数可以获取键盘事件.2. 此外, 那些容器控件(Form, Panel等), 可以通过PreviewKeyDown函数截取穿过容器的键盘事件, 从而...

C# 如何保存panel控件内生成的自定义控件
简单的方法,退出时用文本文件或其他方式记录生成控件的参数,比如大小、位置,下次打开程序,先读取文件,再生成就可以了。

在c#中,panel主要用来当做控件的容器来使用?
disigner文件里搜索一下两个panel的名字,找到panel1.add()这样的方法,其中如果有panel2的话,删除那一行。然后找到最后,会有this.controls.add()方法,在里面加上panel2就可以了。原因其实是一个panel被当成了另一个子控件了。

C#如何实现panel控件的拷贝
\/\/首先吧 left top width height 相等 然后遍历 Controls 子控件 一个一个创建 并对应 left top width height 如果子控件是容器 继续遍历子控件的Controls 用循环 迭代就好了

相似回答