C#中父窗口和子窗口之間控件互操作實(shí)例
本文實(shí)例講述了C#中父窗口和子窗口之間控件互操作的方法。分享給大家供大家參考。具體分析如下:
很多人都苦惱于如何在子窗體中操作主窗體上的控件,或者在主窗體中操作子窗體上的控件。相比較而言,后面稍微簡(jiǎn)單一些,只要在主窗體中創(chuàng)建子窗體的時(shí)候,保留所創(chuàng)建子窗體對(duì)象即可。
下面重點(diǎn)介紹前一種,目前常見的有兩種方法,基本上大同小異:
第一種,在主窗體類中定義一個(gè)靜態(tài)成員,來保存當(dāng)前主窗體對(duì)象,例如:
然后在主窗體構(gòu)造函數(shù)中,給靜態(tài)成員初始化,如下:
那么在子窗體中調(diào)用父窗體,可以通過“主窗體類名. pCurrentWin”來操作當(dāng)前的主窗體。
第二種,是在子窗體中定義一個(gè)私有成員,來保存當(dāng)前主窗體對(duì)象,例如:
然后在子窗體構(gòu)造函數(shù)中,加一參數(shù),如下:
{
pParentWin = WinMain;
//Other code
}
在主窗體創(chuàng)建子窗體的時(shí)候,要把this作為參數(shù)來構(gòu)造子窗體,這樣在子窗體中調(diào)用父窗體,可以直接用“this.pParentWin”就可以了
不過以上所作的,只是讓你能夠訪問當(dāng)前主窗體對(duì)象,那么如何操作控件,很多人直接修改控件的成員訪問符,即把“private”改為“public”,我覺得這樣破壞了本身類的封裝,所以我比較喜歡的做法是增加公有屬性或方法來供調(diào)用,例如:
{
get{ return btn.Text;}
set{ btn.Text = value;}
}
public void Button_Click()
{
this.btnDConvert.PerformClick();//Execute button click
}
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C#實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出任一Word圖表的通用呈現(xiàn)方法
應(yīng)人才測(cè)評(píng)產(chǎn)品的需求,導(dǎo)出測(cè)評(píng)報(bào)告是其中一個(gè)重要的環(huán)節(jié),報(bào)告的文件類型也多種多樣,其中WORD輸出也扮演了一個(gè)重要的角色,本文給大家介紹了C#實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出任一Word圖表的通用呈現(xiàn)方法及一些體會(huì),需要的朋友可以參考下2023-10-10c# Newtonsoft 六個(gè)值得使用的特性(上)
這篇文章主要介紹了c# Newtonsoft 六個(gè)值得使用的特性,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06