winform 怎样获取父级控件的属性。

比如我现在有一个panel1控件,我想知道它的父级控件的width,height,location.x等,父级控件我不知道是什么,也许是panel,也许是form.
如果父级控件有更高级的父级控件呢,也许是10个20个,怎么递归循环出来呀?
有办法吗?谢谢!~

4个回答

可以通过控件的 Parent 属性获取,具体范例请参考:

https://msdn.microsoft.com/en-us/library/system.windows.forms.control.parent(v=vs.110).aspx

如果对您有帮助,请点击采纳答案好吗,谢谢~~

liumingliao
力O 若是只有一个父级控件的话这样还好,但是如果是父级控件还有更高级的父级控件呢,也许是10个20个,怎么递归循环出来呀?
接近 2 年之前 回复

直接panel.Parent.Width,父类的父类panel1.Parent.Parent,以此类推

Control c = 你的控件;
while (ctrl.Parent != null)
{
ctrl = ctrl.Parent;
}

Control c = 你的控件;
Control ctrl = null;
while (c.Parent != null)
{
ctrl = c.Parent; //ctrl 就是父控件
}

if(ctrl !=null) messagebox.show(ctr.gettype()) ;//这里就是类别了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
获取控件的父级
例rnpanel中有个button 如何通过button获取panel ?
FindControl下,怎样获取控件的属性
asp。net中 用FindControl获取GrateView 中的控件rn获取之后怎么取得该控件的属性啊
WinForm 如何获取动态生成控件的属性
代码如下rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Text;rnusing System.Windows.Forms;rnrnnamespace WindowsApplication1rnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rnrn private void Form1_Load(object sender, EventArgs e)rn rn newCB();rn newBT();rn rn rn //动态生成ComboBoxrn private void newCB()rn rn ComboBox cb = new ComboBox();rn cb.Location = new Point(new Size(50, 50));rn cb.Text="aaaaa";rn this.Controls.Add(cb);rn rnrn //动态生成Buttonrn private void newBT()rn rn Button bt = new Button();rn bt.Location = new Point(new Size(200, 50));rn bt.Text = "ck";rn this.Controls.Add(bt);rn bt.Click += new System.EventHandler(this.bt_Click);rn rnrn private void bt_Click(object sender, EventArgs e)rn rn //如果我想获取bt.Text的值和cb.Text的值,应该怎样写后面的代码呢?rn rn rn rnrnrnrn谢谢大家,请大家帮帮忙!
winForm控件容器中控件的获取
这段时间在试着做海康sdk的二次开发,现在有两个form(mainform,addform),mainform上有个treeview控件,此控件放在groupbox控件里。现在我要通过点击addform上的button,完成对mainform上treeview的操作。rnrn我通过mainform中button点击事件来显示addform:rnaddform frm = new addform(this);//将mainform传递给addformrnfrm.ShowDialog();rnrn在addform重载构造函数:rnpublic addform(mainform mainfrm)rn mainf = mainfrm; //mainf已定义rnrn然后在addform里的button点击事件中:rntreeview tv_dvr = (treeview) mainf.controls["tv_dvr"];rntv_dvr.nodes[0].nodes.add("test");rnrn现在问题出在 (treeview) mainf.controls["tv_dvr"]获取不到mainform上的name为"tv_dvr"的treeview,这个mainf已经获取到了,就是mainform,是不是因为这个treeview在groupbox里,所以要写成:rntreeview tv_dvr = (treeview) mainf.controls["groupbox_tv"].controls["tv_dvr"];//groupbox_tv为存放treeview控件的groupbox的namern这样才能获取到?rnrn望各位大侠赐教!谢谢!
iframe获取父级标签及控制父级样式
在iframe层的Js中控制父级css样式,以实现覆盖整个页面的弹层遮罩。
python获取模块目录(父级,祖父级,祖祖父级。。。)
python获取目录 之前的目录获取总有点问题,要么获取不了,要么获取到了,上线的linux上面目录又不对了 总之各种问题。今天总结一下,同步linux/windows上都可以使用的路径获取。以备不时只需。 目录获取 父级目录的获取:只用加上os.path.dirname(当前路径)即可 import sys import os os.path.realpath(...
iframe获取父级url
iframe获取父级url 通过js获取父级iframe url,也可以是当前页面的上一个页面地址 [code="java"] var url = ""; try { url = window.top.document.referrer } catch(M) { if (window....
在WINFORM中怎样根据控件的NAME属性查找这个控件?
如题,我动态增加若干控件,我现在想要找出它,这个控件的NAME我是知道的.rn有没有类似this.controls.findbyname();
获取父级标签的id
比如我的页面有如下代码rn[code=HTML]rnrn rn 无标题文档rn rnrnrnrnrn rnclickrnrnrnrn[/code]rnrn如何写readid这个函数,可以获得所在的div的id值,需要传入什么参数吗?
winform 控件 anchor 属性 与 Dock属性的关系,
刚上手winform,总有点搞不清anchor 与 dock属性的距别.
怎样获取文件的属性
各位大哥:rn 小弟现在遇到一个问题求救,就是我想对某一文件进行校对后进行加密,但是当此文件为只读属性时,就出错。帮请问各位高手,怎样可以获取该文件的属性,有人说用API函数,但是我不知用那个啊
怎样获取文件的属性??
比如你反击一个文件,看文件的属性,有的文件属性只有【常规】选项,然而有的却有【常规】【自定义】【摘要】,我怎么可以通过编程的方法获取此文件的【摘要】信息中的“标题”?rn
怎样获取文件的属性?
需要知道某个文件的最新更新时间,应该怎么做?
获取控件的属性
当用FINDWINDOWEX获取另一程序的控件的HWND之后,又可以用什么API能获取这个控件的所有属性呢?
获取table控件的属性
请看如下代码片段:rn var m = document.getElementsByTagName("table");rn alert(m[0].tagName);rn alert(m[0].className);rn alert(m[0].getAttribute("xd:binding"));rntagName、className都能取出来。唯独alert(m[0].getAttribute("xd:binding"));出错,说 参数无效 。这怎么回事?table支持getAttribute方法的。
获取控件的属性问题
现在有好几个文本框,我想要某个文本框为焦点时,可以获取这个文本框的tag,rn但是哪个文本框为焦点时不确定的,我现在只能每个文本框都写一个事件,rn里面写上:string str=textbox?.tag.ToString();//问号代表这个文本框的序号rn有没有什么办法,只写一个方法,让其他的文本框都调用同一个方法就好了?
JS查找父级控件
[code=HTML]rn rn rn rn rn rn rn rnrn[/code]rnrn问题是这样的。 我在页面中布置了2个DIV 。 我会检查 页面所有的控件。 如果输入值没有通过验证。 我要选中这个控件。rn以上功能都做好了。rn现在问题是 两个DIV 必然是有一个是隐藏的。 我验证控件输入的时候 想判断 这个Text 控件所属的DIV 是哪个。然后显示出这个DIV 隐藏另外一个rnrn以下是我的代码rn[code=JScript]rn//寻找父级中的DIV 根据控件所属的DIV 调整 两个DIV的可见性rn//控件所属的DIV设为可见 另外一个设为不可见rnfunction ChangeDiv(textObj)rnrn rn var divObj = textObj.parentNode;rn var divTageName = divObj.type;rn for(var i =0;i<7;i++)rn rn if(divTageName=="div"||divTageName=="DIV")rn rn alert(divObj.id);rn return;rn rn divObj = divObj.parentNode;rn divTageName = divObj.type;rn rnrnrn[/code]rnrn这样 divObj.parentNode; 得到的值 总是 unfindernrn请教各位高手 我该如何实现。 我上面的JS 又错在哪里呢/
C# winform 属性控件 PropertyGrid控件 问题
请问,用属性PropertyGrid控件时,,如果先 选一下 下拉框的那种bool型的值时,再去输 文本类型的值时,中文输入法就不好用了,切不过来了, 有谁遇到过,应如何解决呢 VS bug吗???
CSS3.flexbox布局-父级容器属性
开启flex模式父级样式设置display:flex或者inline-flex flex父级容器属性: flex-direction控制子级排列方向,默认水平方向。 row水平方向(默认)row-reverse(子级水平反向排列) column垂直方向    column-reverse(子级垂直反向排列) /**************************************
怎样获得控件的属性
1、怎么得到一个控件的所有属性(布局,焦点,可访问性,配置,设计,数据,外观,行为,杂项),然后把他写到一个XML文件中去。
[winform]怎样获取窗口的hWnd?
如果用Findwindow,那么如果找标题为"Testtesttesttest"的窗口的hWnd只能是这么写rnFindWindow(null, "Windows 任务管理器")rn但我想获取到所有标题带"test"的窗口的hWnd,请问要用什么函数?
jquery获取父级的标签元素
jquery获取父级的标签元素   解决方法: iframe中的子页面操作父级标签:http://www.yayi​house.com/yayishuwu/chapter/1734
jquery获取父级的同级的子元素
一、知识介绍1、jquery获取父级元素用parent()$(this).parent('ul');2、jquery获取同级元素用siblings()$(this).parent('ul').siblings();3、jquery获取子元素用find()$(this).parent('ul').siblings().find('li');二、实例如下图所示:需求: 要实现点击“工作区”下面的元素和...
winform中怎样使用C1FlexGrid控件的DataMap属性?
它与DataGrid中的MappingName属性有什么区别?rn 能用DataMap属性实现各列的数据的定制绑定吗?
获取父级id和兄弟id
简单方法: Html代码截图: Js代码截图 通过html页面直接传父级的id和兄弟的id获取他们的id值(这种方法比较人工化,类似的问题多起来就很麻烦,要一个个手动输入),如果不嫌麻烦,可以参考下面做法!     智能化的方法: 思路:有没有办法,就是点击的时候获取到子级的值,去获取父级的id,然后再通过父级id获取兄弟id?以下请看代码: Html代码的传值去掉(这里就...
获取父级父级元素的子元素的第一个
&lt;tr&gt; &lt;th&gt;1&lt;/th&gt; &lt;th&gt;2&lt;/th&gt; &lt;th&gt;3&lt;/th&gt; &lt;th&gt; &lt;input type="button" value="详情" class="yushen_btn"&gt; &lt;/th&gt; &lt;/tr&gt...
如何将DataTemplate 中的控件绑定到父级的一个属性上去?
[code=XML]rnrn rn rn rn rn rn rn rn rnrn[/code]rn后台代码rn[code=C#]rnpublic partial class InfoWindow : UXWindowrn public static DependencyProperty ProgressBarValueProperty = DependencyProperty.Register("ProgressBarValue", typeof(int), typeof(InfoWindow), null);rnrn public int ProgressBarValue rn rn getrn rn return (int)GetValue(ProgressBarValueProperty);rn rn setrn rn SetValue(ProgressBarValueProperty, value); rn rn rnrn[/code]
怎样获取控件的标题
我是一个正在学习C++的学生rn老师给作业让做一个计算器rn现在已经实现了给每个按钮(0--9和+ - * / = 等)映射一个处理函数的做法了,但是代码超级长,估计效率也不是很高rn现在就想,当这些按钮被按下时触发消息,只用一个函数来处理,这个函数可以判断被按下的按钮的标题是什么(像java里面那样,易语言也是的),进行相应的处理,这该怎么做呢?这个函数需要什么样的参数??rn诚挚求指导
怎样获取控件的屏幕坐标?
怎样获取控件的屏幕坐标?
怎样获取控件引用
在一个WinForm 中有 10 Lablernrn有一个 string[] str = new string[10];rnrn原来很笨的方法rnrn Lable0.Text = str[0];rn Lable1.Text = str[1];rn Lable2.Text = str[2];rn Lable3.Text = str[3];rn Lable4.Text = str[4];rn .....rnrn请问有好的方法吗:rn for(int i=0; i<10; i++)rn rn ???.Text = str[i];rn rnrn谢谢!rnrnrn
怎样获取tabstrip控件?
请问众位大虾怎样获取tabstrip控件,如何修改tabstrip的背景颜色?谢谢!
怎样获取打印机的属性对话框
怎样获取打印机的属性对话框, 打印机的属性对话框怎样不通过打印对话框中点击“属性” 而得到? 可不可以通过调用api函数和设置相应的参数来实现。
怎样获取access数据库字段属性????
包括字段类型和长度
获取iOS控件的隐藏属性
我们在开发的过程中用到的一些控件,明明一些属性我们一定会用到,但是是查看API就是没有,这个时候一般人会吐槽一下苹果;随后就是选择自己封装或者使用其他的实现方式来实现 。但是好多时候从网上搜出来的时候,人家大多都是通过KVC实现,这时候我就想人家咋获得的这些属性,我们怎么就不知道呢!其实很简单的…… unsigned int count =
获取页面中控件的属性
现在有一个bottonrn页面中有很多checkboxrn如何遍历获取checkbox的checked属性 然后点botton取消勾选?
javascript获取后台控件的属性
后台代码段 :rnrnExtAspNet.Tree tree = new ExtAspNet.Tree();rn tree.ShowBorder = false;rn tree.ShowHeader = false;rn tree.ID = "t1";rn //tree.CssStyle = "font-size:14px";rn int y = -1;rn foreach (DictionaryEntry each in MenuItem)rn rn ExtAspNet.TreeNode treenodes = new ExtAspNet.TreeNode();rn treenodes.Text = each.Key.ToString();rn treenodes.NavigateUrl = each.Value.ToString();rn treenodes.Target = "QueryTask";rn treenodes.Leaf = true;rn treenodes.IconUrl = "Images/Icons/table.gif";rn y = y + 1;rn treenodes.NodeID = "tree" + y.ToString();rn tree.Nodes.Insert(y, treenodes);rn rnrn想要获取treenode的NodeId和Target,但总是获取不到
怎么获取控件的name属性
怎么获取控件的name属性rn由于我需要js获取控件rn而且需要name来获取radio的值rn除了直接复制源码id的值还有什么方法啊
动态添加控件如何获取属性?
我在页面上动态添加了一个文本框,然后在客户端改变了其中的LEFT等属性,现在想在页面提交后获取改变后的属性值,请问该怎么得到?rn部分添加控件代码如下:rnTextBox txtBox1 = new TextBox();rntxtBox1.ID = "txtTest1";rntxtBox1.Text = "动态控件";rntxtBox1.Width = 100;rntxtBox1.Style["POSITION"] = "absolute";rntxtBox1.Style["Left"] = "50px";rntxtBox1.Style["Top"] = "50px";rnthis.Page.Controls[1].Controls.Add(txtBox1);
控件的text属性内容获取
using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rnusing System.Data.SqlClient;rnusing System.Data;rnusing System.Configuration;rnusing System.Collections;rnusing System.Web.Security;rnusing System.Web.UI.WebControls.WebParts;rnusing System.Web.UI.HtmlControls;rnrnrnrn public partial class Create : System.Web.UI.Pagern rn int reValue;//用于保存返回值。返回值为-1(用户名存在),0(失败),1(成功),2(用户名不存在)rn protected void Page_Load(object sender, EventArgs e)rn rnrn rnrn protected void Button1_Click(object sender, EventArgs e)rn rn reValue = CheckName();rn if (reValue == -1)rn rn Response.Write(" ");rn rn elsern rn DB db = new DB();rn string UserName = this[u].[color=#FF0000]txtUserName[/color][/u].Text;rn string PassWord = db.GetMD5(this.[u][color=#FF0000]txtPassword[/color][/u].Tostring());rn string cmdstr= "insert into dbo_USER(UserName,PassWord) values(('" + UserName + "','" + PassWord + "')";rn tryrn rn reValue = db.sqlEx(cmdstr);rn if (reValue == 1)rn rn Response.Write(" ");rn Clear();//清空文本框rn rn else if (reValue == 0)rn rn Response.Write(" ");rn rn rn catch (Exception ee)rn rn Response.Write(" ");rn rnrnrn rn rnrn protected void LinkButton1_Click(object sender, EventArgs e)rn rn reValue = CheckName();rn if (reValue == -1)rn rn Response.Write(" ");rn this.[u][color=#FF0000]UserName[/color][/u].Focus();rn rn else if(reValue == 2)rn rn Response.Write(" ");rn this.[u][color=#FF0000]UserName[/color][/u].Focus();rn rn rnrn protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)rn rnrn rn //验证用户名是否存在rn public int CheckName()rn rn //实例化公共类对象rn DB db = new DB();rn string str = "select count(*) from tb_User where UserName='" + this.[u][color=#FF0000]UserName[/color][/u].Text + "";rn tryrn rn DataTable dt = db.reDt(str);rn if (dt.Rows[0][0].ToString() != "0")rn rn return -1;//该用户名已经存在rn rn elsern rn return 2;//该用户名尚未注册rn rn rn catch (Exception ee)rn rn return 0;rn rn rnrn protected void UserName_TextChanged(object sender, EventArgs e)rn rnrn rn //清空文本框rn public void Clear()rn rn this[u].[color=#FF0000]txtUserName[/color][/u].Text = "";rn this.[u][color=#FF0000]txtPassword[/color][/u].Text = "";rn this.[u][color=#FF0000]txtConfirmPassword[/color][/u].Text = "";rn rnrnrn protected void ContinueButton_Click(object sender, EventArgs e)rn rn rn //返回登录页rn protected void btnBack_Click(object sender, EventArgs e)rn rn Response.Redirect("~/Login.aspx");rn rnrnrn
WPF--关于获取控件的属性
在桌面上的控件如何去获取它的属性和事件? 这次以button为例。 前台代码 后台代码 private void btnNa
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数