這首先要看控件所在的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#。