我有兩個WinForm的FORMA和FormB,當我在備考點擊按鈕,FormB將陸續推出。傳遞價值的WinForm過程
FormB有一些按鈕,每個按鈕都分配了一些值,當我點擊任何按鈕時,分配給該窗體的值必須傳遞給formA,在那裏我需要處理但兩個窗體都必須處於活動狀態。
下面的代碼連接到形式上的按鈕,啓動formB
FormA bar = new FormA ("Login");
bar = this;
FormB pad = new FormB (ref bar);
pad.ShowDialog();
MessageBox.Show(this.getValue.ToString());
的問題是,我不能夠讀取值FormB按鈕點擊,直到我關閉formB屏幕。我正在尋找某種方式將值委託給FormA進行處理。
我FormB樣子,
FormA s = null;
string txtInput = String.Empty;
public FormB (ref FormA form1handle)
{
InitializeComponent();
s = form1handle;
}
public string getFormBValue {
get { return txtInput; }
}
private void Dial1_Click(object sender, EventArgs e)
{
//txtInput = Dial1.Text;
s.getValue = Dial1.Text;
MessageBox.Show(s.getValue.ToString());
}
PS:使用FormB我想實現一個電話撥號盤,這將被用來傳遞DTMF輸入。
我正在尋找這樣的一些東西。我會測試它並儘快更新。 – AKV
當我聲明公共EventHandler MyEventHandler;我得到這個錯誤。 \t「類型'FormA.FormB.MyEventArgs'不能用作泛型類型或方法'System.EventHandler '中的類型參數'TEventArgs'」 –
AKV
這是由'MyEventArgs'類不是從'EventArgs'明確派生的。 .NET 4要求你顯式地從'EventArgs'派生,.NET 4.5(我構建了我的例子)沒有。我已經更新了我的示例,用於'Form2'以顯示'EventEnd'派生的'MyEventArgs'。 – 2013-10-08 08:58:47