c# winform 怎么获取控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# winform 怎么获取控件相关的知识,希望对你有一定的参考价值。

ToolStripMenuItem的click事件,怎么获取被右键点击打开菜单的控件
sender返回的是ToolStripMenuItem
求教!
比如是一个TextBox上点击的打开的
怎么获得TextBox的Name??

为什么总是得到的是父容器的name

参考技术A 属性里面有个叫fathercontrol的好像 太久没搞C#了
你去查查 是控件父类CONTROL类的属性 ,代表父控件
参考技术B 没怎么挺清楚啊
是不是这样 TextBox t = (TextBox)sender;
t.Name你要的名称
参考技术C 获取textBox空件输入的值 this.textbox1.text.trem(); 参考技术D string name = e.ClickedItem.Name; 第5个回答  2011-10-17 不废话上代码。
MessageBox.Show(this.ActiveControl.Name);
有需求继续HI我。追问

不行,取出的是Textbox的父控件的名称

追答

_SCREEN.ACTIVEFORM.ACTIVECONTROL.NAME
我查了下msdn。就是他。你再试试。
http://support.microsoft.com/kb/129425/zh-cn
我应该没看错。

本回答被提问者采纳

c#的winform怎么根据控件的名字获取控件属性?

这首先要看控件所在的Form类有没有实例化,若已经实例化,可以通过构造传参或委托的方式完成。

构造传参:将控件所在的Form类实例化对象作为参数传到你new的新Form中。

C#实现根据指定容器和控件名字获得控件的方法,在进行C#应用程序设计时有一定的借鉴价值。分享给大家供大家参考借鉴。具体实现方法如下:

功能代码如下:

1、/// <summary>

2、/// 根据指定容器和控件名字,获得控件

3、/// </summary>

4、/// <param name="obj">容器</param>

5、/// <param name="strControlName">控件名字</param>

6、/// <returns>控件</returns>

7、private object GetControlInstance(object obj,string strControlName)

8、

9、IEnumerator Controls = null;//所有控件

10、Control c = null;//当前控件

11、Object cResult=null;//查找结果

12、if(obj.GetType() == this.GetType())//窗体

13、

14、Controls = this.Controls.GetEnumerator();

15、

16、else//控件

17、

18、Controls = ((Control)obj).Controls.GetEnumerator();

19、

20、while(Controls.MoveNext())//遍历操作

21、

22、c = (Control)Controls.Current;//当前控件

23、if(c.HasChildren)//当前控件是个容器

24、

25、cResult = GetControlInstance(c,strControlName);//递归查找

26、if(cResult==null)//当前容器中没有,跳出,继续查找

27、continue;

28、else//找到控件,返回

29、return cResult;

30

31、else if(c.Name == strControlName)//不是容器,同时找到控件,返回

32、

33、return c;

34、

35、

36、return null;//控件不存在

37、

示例如下:

((Button) GetControlInstance(this,"button7")).BackColor = Color.Red;

((Button) GetControlInstance(this.groupBox4,"button7")).PerformClick();

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

参考技术A 单击你需要的控件或者右键你的控件选择属性,然后在右下角属性中找到事件,在事件中选择你需要的,双击空白处编写。系统会自己在设计器中添加对于该事件的引用。

以上是关于c# winform 怎么获取控件的主要内容,如果未能解决你的问题,请参考以下文章

c#的winform怎么根据控件的名字获取控件属性?

C# winform动态添加控件获取值问题

C# winform中怎么获取imagelist控件中图片的名字

c# winform 如何取得用户控件中 的值

c#控件 winform怎么使用

c# winform如何取得一个区域的所有控件对象