我有一個調用另一個表單來執行某個操作的表單,如果該操作完成,那麼將設置一個標記作爲父級表單中的參數在兒童形式中爲真,但如果動作未完成,則該標誌保持假。在方法中設置爲true後返回false的布爾參數
在父窗體中的代碼:
bool flag;
public ChildForm(bool flag)
{
InitializeComponent();
this.flag = flag;
}
private SomeMethod()
{
//some code
flag = true;
this.Close();
}
調試它,我看到後旗被設置爲true子窗體,在父母的標誌:
bool flag = false;
new ChildForm(flag).ShowDialog();
if(flag)
{
//some code that depends on that flag be true
}
在子窗體的代碼形式也是如此,但是在子表單關閉並編程回執行父表單代碼之後,該標誌變回爲假。
發生了什麼事?
在這種codesample是不可能的,如果(標誌)進入 – BennoDual
@BennoDual怎麼樣?子窗體中的方法將標誌設置爲true。 –
它將ChildForm中的標誌設置爲true - 這對父窗體中的變量沒有影響。 – BennoDual