私は問題があります:
これが私のケースです:
私はすでに、ユーザーがそれを選択するたびに NewForm が呼び出されるように命令しています。プログラムを実行すると MainForm が呼び出され、[NewForm] をクリックすると、FirstNewForm が呼び出されて MainForm が閉じられます。しかし、作成した FirstNewForm で「NewForm」をもう一度クリックすると、SecondNewForm が呼び出されますが、FirstNewForm が閉じられません。
これが私の質問です:
FirstNewForm を閉じるにはどうすればよいですか? つまり、NewForm を呼び出すたびに CurrentForm を閉じる方法を教えてください。
MainFormがまだそこにあるときに「NewForm」をコマンドし、FirstNewFormが呼び出されたときにMainFormが閉じられたときの画像は次のとおりです。 、および2番目の画像はFirstNewFormです。FirstNewFormを呼び出したときにMainFormがすでに閉じているため、同じように見えました):
これは、FirstNewFormがまだそこにあるときに「NewForm」をコマンドし、SecondNewFormが呼び出されているときにFirstNewFormが閉じられていないときの画像です:(タスクバーに表示されている場合、そこには2つの販売システムプログラムがあるため、FirstNewFormは閉鎖されていません)
FirstNewForm を非表示にして閉じるにはどうすればよいですか?
コードは次のとおりです。
private void AddNewForm(object sender, EventArgs e)
{
//this.Hide();
Form newForm = new Form();
AddObjects(sender, e, newForm);
UpdateTextPosition(sender, e, newForm);
newForm.Size = new Size(1360, 735);
newForm.Text = "Selling System";
newForm.FormBorderStyle = FormBorderStyle.Fixed3D;
newForm.AutoScaleMode = AutoScaleMode.Font;
newForm.AutoScroll = true;
newForm.AutoSizeMode = AutoSizeMode.GrowAndShrink;
newForm.StartPosition = FormStartPosition.CenterScreen;
newForm.MaximizeBox = false;
newForm.Controls.Add(label1);
newForm.Controls.Add(label2);
newForm.Controls.Add(label3);
newForm.Controls.Add(label4);
newForm.Controls.Add(label5);
newForm.Controls.Add(label6);
newForm.Controls.Add(label7);
newForm.Controls.Add(menuStrip1);
//newForm.ShowDialog();
//this.Close();
if(this.InvokeRequired)
{
Action act = () =>
{
this.Hide();
};
this.Invoke(act);
}
else
{
this.Hide();
}
}
前もって感謝します!長い投稿を投稿している場合は申し訳ありません