現在,我有兩種形式,稱爲Form 1和Form關閉Form1,在Form1有一個按鈕,當我點擊它,然後打開窗口2打開窗體2從Form1中,從窗體2
問題:在窗口2,當我點擊它時,我想創建一個按鈕,form2關閉,form1關閉。 ?如何做到這一點
現在,我有兩種形式,稱爲Form 1和Form關閉Form1,在Form1有一個按鈕,當我點擊它,然後打開窗口2打開窗體2從Form1中,從窗體2
問題:在窗口2,當我點擊它時,我想創建一個按鈕,form2關閉,form1關閉。 ?如何做到這一點
Form1中:
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.Show();
}
窗體2:
public partial class Form2 : Form
{
Form opener;
public Form2(Form parentForm)
{
InitializeComponent();
opener = parentForm;
}
private void button1_Click(object sender, EventArgs e)
{
opener.Close();
this.Close();
}
}
謝謝!我用你的解決方案解決了這個問題 – hcemp 2010-06-02 15:17:19
你的問題是模糊的,但你可以使用ShowDialog顯示形式2.然後,當你接近2的形式,通過一個DialogResult對象的背影讓用戶知道怎樣的形式被關閉 - 如果用戶點擊該按鈕,然後關閉窗體1。
有沒有更簡單的方法我知道在VB.NET中,調用frmScores.show()或frmMain.hide(),就像調用C#一樣簡單。 – 2010-06-02 15:04:22
當然 - 那麼你可以使用SiN的解決方案。 – 2010-06-02 15:07:29
在form2.buttonclick把
this.close();
Form1中應該有窗口2的對象。
您需要訂閱form2的關閉事件。
,並在收盤方法把
this.close();
,如果你只是想關閉從Form2的Form1中,但不關閉窗口2,以及在這個過程中,正如標題所暗示的,那麼你可以通過一個基準,形成1一起表格2,當你創建它,並用它來關閉窗體1
例如,你可以一個
public class Form2 : Form
{
Form2(Form1 parentForm):base()
{
this.parentForm = parentForm;
}
Form1 parentForm;
.....
}
場和構造函數添加到窗體2
如果要首先關閉窗口2,然後Form1中的問題的文字建議,我會與返回合適的結果Justins答案去到Form1上交易結束時窗口2
我爲這樣做一旦我的項目,關閉一個應用程序並打開另一個應用程序。
System.Threading.Thread newThread;
Form1 frmNewForm = new Form1;
newThread = new System.Threading.Thread(new System.Threading.ThreadStart(frmNewFormThread));
this.Close();
newThread.SetApartmentState(System.Threading.ApartmentState.STA);
newThread.Start();
並添加以下方法。你的newThread.Start會調用這個方法。
public void frmNewFormThread)()
{
Application.Run(frmNewForm);
}
這工作:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Hide()
Form2.Show()
//program to form1 to form2
private void button1_Click(object sender, EventArgs e)
{
//MessageBox.Show("Welcome Admin");
Form2 frm = new Form2();
frm.Show();
this.Hide();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 m = new Form2();
m.Show();
this.Visible = false;
}
如何把問題在主題行,而不是說明你有一個。 – 2010-06-02 15:00:18
歡迎來到StackOverflow,hcemp!您將在下一次將問題放在主題行中,類似於編輯者已有的方式。更多指南可在這裏:http://stackoverflow.com/faq和在這裏:http://meta.stackexchange.com/questions/tagged/faq – 2010-06-02 15:02:58
對不起,我很新鮮,我的英語非常游泳池 – hcemp 2010-06-02 15:06:30