C# ShowDialog時表單賤傳值得方法

來源:互聯網
上載者:User

標籤:

用C#開發應用的時候,通常需要多個表單!有時候為了開啟表單的時候禁止操作父表單,我們一般採用模態對話方塊的方法,也算就是用ShowDialog()方法。

假設有兩個表單A和B,A作為主表單使用ShowDialog()方法開啟B表單,我們可能遇到以下幾種情況。

1.從A表單傳值到B表單,這個一般有兩個方法。方法一:

A表單代碼:

FormB fb=new FormB();fb.varStr="i am a test string":fb.ShowDialog()

B表單代碼:

public string varStr;

這樣就可以將A表單中的內容表單到B表單中,在B表單中直接使用varStr變數即可。

方法二:

A表單代碼:

string varStr="aaaaaaaaaa";FromB fb = new FormB(varStr);fb.ShowDialog();

B表單代碼:

private string str;public FormB(string str){            InitializeComponent();            this.str=str;}

這樣也可以達到同樣的目的;

2.從B表單傳值到A表單。

這個需求挺有意思,百度找到了千百種方法,一個比一個蛋疼,一個比一個複雜。其實這個真的很簡單

A表單代碼:

FromB fb=new FormB();fb.ShowDialog();string rtStr=fb.returnStr;

B表單代碼:

public string returnStr;
returnStr="我是要傳遞到A表單的內容";this.Close();

其實這樣就可以了,根據我自己的經驗來看,那麼多人沒想到這麼來估計是以為B表單Close()之後就銷毀了,其實我測試後發現沒有,Close之後還是可以擷取其中的變數。

 

C# ShowDialog時表單賤傳值得方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.