當前位置:編程學習大全網 - 編程語言 - c#的winform怎麽根據控件的名字獲取控件屬性?

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#。

  • 上一篇:關於韓版花樣男子得問題或妳知道的有關事情均可!!!
  • 下一篇:山西哪些行業好就業?
  • copyright 2024編程學習大全網