2014-11-25 74 views
0

我使用兩種形式創建一個簡單的應用程序。從我的主窗體中,我可以點擊一個按鈕開始我的第二個窗體,這個工作就像我不想。但是,當我關閉第二個表單時,我的主表單不會被激活,我必須在表單中的某個地方點擊,然後才能點擊任何其他按鈕。關閉我的第二個表格時「激活」表格

任何現在如何解決這個問題?

+0

請提供關於開始第二個窗體的方式以及您可能在兩種窗體的設計模式下設置的特定(非默認)值的代碼示例。 – Leon 2014-11-25 06:50:58

+0

我無法用簡單的代碼重現問題。發佈一些代碼來重現問題。我想關閉表單會激活應用程序中的其他表單。 – 2014-11-25 06:53:19

回答

0

我做到了。 如果您打開子形式的ShowModal你可以試試這個:

private void btnOpenWindows_Click(object sender, EventArgs e) 
{ 
     Form2 f = new Form2(); 
     f.Caller = this; 
     f.ShowDialog(); 



     this.textBox1.Focus(); 
} 

當執行f.ShowDialog();控制傳遞到窗體2,主叫方被禁用(*在加入將它作爲一個參數可以在表格父親工作。

當您關閉窗體2繼續執行從this.textBox1.Focus();形式父親是活躍的。

*在加入中要通過窗體2到Form1操作可以在Form2的

創建Form1的屬性
public partial class Form2 : Form 
{ 
     public Form1 Caller = null; 

     public Form2() 
     { 
      InitializeComponent(); 
     } 



     private void btnTest_Click(object sender, EventArgs e) 
     { 
      //Set textBox1 modiefer public 
      Caller.textBox1.Text = "Hello Word"; 
     } 

     private void Form2_FormClosed(object sender, FormClosedEventArgs e) 
     { 
      //TODO 
     } 

     private void Form2_FormClosing(object sender, FormClosingEventArgs e) 
     { 
      //TODO 

     } 
}