-1
私は素晴らしいソリューションを見つけましたが、アプリの起動時に動作するように書かれています。それは動作しますが、メインフォームをアクティブにすることも可能になり、今度は2つのフォームを必要なだけ何度でも開くことができます。それは望ましい機能ではありません。 2つのフォームがアクティブな間にメインフォームをロックするにはどうすればよいですか?もう一つは、フォームを閉じるためにESCキーを追加しました。フォームが別々に開かれたとき、ESCは機能しました。同時に、ESCを一日中同時に押すことができ、何もしません。同時に2つのフォームを開く
public class MultiFormContext : ApplicationContext
{
private int openForms;
public MultiFormContext(params Form[] forms)
{
openForms = forms.Length;
foreach (var form in forms)
{
form.FormClosed += (s, args) =>
{
//When we have closed the last of the "starting" forms,
//end the program.
if (Interlocked.Decrement(ref openForms) == 0)
ExitThread();
};
form.Show();
}
}
}
そして、私はこのようにメインフォームから二つの形式を作成します:
以下は、私が使用したコードは、事前に助けを
private void simpleButton1_Click(object sender, EventArgs e)
{
Cursor = Cursors.WaitCursor;
using (new MultiFormContext(new fmUgyek(), new fmNaptar()))
Cursor = Cursors.Default;
}
ありがとう!