本文實例分析了C#實現窗體間傳值的方法。分享給大家供大家參考,具體如下:
1、VS 2005的Visual C# Windows應用程序和Visual C#智能設備Pocket PC 2003設備應用程序。
假設我們需要點擊主窗體FMMain中的某一個按鈕時打開子窗體FMChild并將某一個值傳給子窗體FMChild,一般情況下,我們點擊按鈕顯示子窗體FMChild的代碼為:
FMChild fmChild = new FMChild();fmChild.ShowDialog();fmChild.Dispose();
如果我們需要將主窗體FMMain中的string strValueA的值傳給FMChild,那么我們首先對strValueA進行如下處理:
private string strValueA;public string StrValueA{get { return strValueA; }set { strValueA = value; }}
使其成為主窗體FMMain的一個屬性,接著修改顯示子窗體的代碼為以下兩種的其中一種。
方法一:
FMChild fmChild = new FMChild();fmChild.ShowDialog(this);fmChild.Dispose();
方法二:
FMChild fmChild = new FMChild();FMChild.Owner = this;fmChild.ShowDialog();fmChild.Dispose();
然后在修改子窗體FMChild中申明一個主窗體FMMain對象,
這時,如果你需要將子窗體FMChild中的string strValueB傳給主窗體FMMain,同樣處理string strValueB。
private string strValueB;public string StrValueB{get { return strValueB; }set { strValueB = value; }}
那么你在關閉子窗體代碼fmChild.Dispose();后,可以寫一些代碼來保存或者處理FMChild的strValueB,例如:
FMChild fmChild = new FMChild();FMChild.Owner = this;fmChild.ShowDialog();fmChild.Dispose();
在Visual C#智能設備Pocket PC 2003的設備應用程序中ShowDialog()沒有重載。
希望本文所述對大家C#程序設計有所幫助。
新聞熱點
疑難解答