2011-11-21 64 views

回答

2

您需要編寫公共property/method才能在表單之間返回(交換)數據。首先你需要了解 - 如何從另一個類的對象的方法/屬性中訪問一個類的對象的屬性/方法?

例如,創建一個公共財產Form2班說Status

public partial class Form2 
{ 
    ... 
    private bool _status; 
    public bool Status 
    { 
    get 
    { 
     return _status; 
    } 
    set 
    { 
     _status=value; 
    } 
    } 
    .... 
} 

現在,如果你想從Form1的方法中得到Status屬性的值。

public partial class Form1 
{ 
    .... 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
    Form2 frm=new Form2(); 
    frm.ShowDialog(); 
    bool status=frm.Status; 
    } 
} 
+0

這是一個初學者的問題,所以你的答案應該解釋一點。 – Fischermaen

3

1,通過實例參數

bool flg = false; 
    form1 f1 = new form1(flg); 
    f1.show(); 

2,通過將公共屬性。

form1 f1 = new form1(); 
    f1.FLG = false; 
    f1.show(); 

3,公衆set方法

form1 f1 = new form1(); 
    f1.SetFlg(false); 
    f1.show(); 
1

我會用一個接口。

public interface IForm 
{ 
    bool GetResult(); 
} 
// form 2 
public partial class Form2 : Form, IForm (...) 
private bool Result; 
public bool GetResult() 
{ 
    return Result; 
} 

// form 1 
var form2 = new Form2(); 
((IForm)form2).GetResult(); 
1
//In Form1 define global static bool variable 
Form1 
{ 

public static bool variable; 

} 

// In Form2 call it 
Form2 
{ 
    Form1.variable = true; 
} 
0

試試這個:

表1:

//Create global variable 
public bool test; 
//Initialize the form 
Form2 f2 = new Form2(this); 
f2.ShowDialog(); 

表2:

Form1 originalForm; 
public Form2(Form1 incomingForm) 
{ 
    originalForm = incomingForm; 
    InitializeComponent(); 
} 

設置或獲取這樣的: originalForm.test

希望它有效

相關問題