前提:Visual Studio窗體應用程序,
Form 爲 Form1 和AddUsersForm,
Button爲button_AddUsers 位於Form1 上,
點擊此Button 可跳到AddUsersForm。
解答:
1.Form1中,button添加click事件,然後加入如下代碼
public static AddUsersForm AddForm = null; //此處重要!
private void button_AddUsers_Click(object sender, EventArgs e)
{
if (AddForm == null) //此處重要!
{
AddForm = new AddUsersForm();
AddForm.StartPosition = FormStartPosition.Manual;
//下面Location設置爲新的窗體在原來窗體中間
AddForm.Location = new Point(this.Location.X + (this.Width - AddForm.Width) / 2, this.Location.Y + (this.Height - AddForm.Height) / 2);
AddForm.Show(); //Show方法後面的代碼會立即執行,(窗體顯示爲模態窗體) //顯示出來的窗體的Modal屬性爲false
//AddForm.ShowDialog(); //直到關閉對話框後,才執行此方法後面的代碼,(窗體顯示爲無模態窗體) //顯示出來的窗體的Modal屬性爲true
}
else
{
AddForm.Activate();
}
}
2. 另一個Form(AddUsersForm)中添加AddUsersForm事件
private void AddUsersForm_FormClosed(object sender, FormClosedEventArgs e)
{
Form1.AddForm = null; //此處劃重點!!!
}
如上則可以實現按button調用另一個窗體,然後新窗體一直在舊的窗體中間(新窗體大小比較小)