實(shí)現(xiàn)C#窗體間傳值詳解
C#窗體間傳值是如何實(shí)現(xiàn)的呢?首先我們來看看需要什么設(shè)備,VS 2005的Visual C# Windows應(yīng)用程序和Visual C#智能設(shè)備Pocket PC 2003設(shè)備應(yīng)用程序。假設(shè)我們需要點(diǎn)擊主窗體FMMain中的某一個(gè)按鈕時(shí)打開子窗體FMChild并將某一個(gè)值傳給子窗體FMChild,一般情況下,我們點(diǎn)擊按鈕顯示子窗體FMChild的代碼為:
- FMChild fmChild = new FMChild();
- fmChild.ShowDialog();
- fmChild.Dispose();
如果我們需要將主窗體FMMain中的string strValueA的值傳給FMChild,那么我們首先對strValueA進(jìn)行如下處理:
- private string strValueA;
- public string StrValueA{
- get {
- return strValueA;
- }
- set {
- strValueA = value;
- }
- }
C#窗體間傳值方法的介紹:
使其成為主窗體FMMain的一個(gè)屬性,接著修改顯示子窗體的代碼為以下兩種的其中一種。
方法一:
- FMChild fmChild = new FMChild();
- fmChild.ShowDialog(this);
- fmChild.Dispose();
方法二:
- FMChild fmChild = new FMChild();
- FMChild.Owner = this;
- fmChild.ShowDialog();
- fmChild.Dispose();
然后在修改子窗體FMChild中申明一個(gè)主窗體FMMain對象,
- FMMain fmMain;
在需要使用主窗體FMMain的string strValueA的地方加上如下代碼:
- fmMain = (FMMain)this.Owner;
這樣,就可以獲得主窗體FMMain中strValueA的值了。
這時(shí),如果你需要將子窗體FMChild中的string strValueB傳給主窗體FMMain,同樣處理string strValueB。
- private string strValueB;
- public string StrValueB{
- get {
- return strValueB;
- }
- set {
- strValueB = value;
- }
- }
那么你在關(guān)閉子窗體代碼fmChild.Dispose();后,可以寫一些代碼來保存或者處理FMChild的strValueB,例如:
- string strTmp = fmChild.StrValueB;
注意,在Visual C#智能設(shè)備Pocket PC 2003設(shè)備應(yīng)用程序中顯示子窗體FMChild只能使用:
- FMChild fmChild = new FMChild();
- FMChild.Owner = this;
- fmChild.ShowDialog();
- fmChild.Dispose();
在Visual C#智能設(shè)備Pocket PC 2003的設(shè)備應(yīng)用程序中ShowDialog()沒有重載。
C#窗體間傳值的實(shí)現(xiàn)以及方法的介紹就向你介紹到這里,希望對你了解和學(xué)習(xí)C#窗體間傳值有所幫助。
【編輯推薦】