スレッドクラスを作ろうとしています。クラスは、開く新しいフォームのスレッドを作成するだけです
class Threading
{
private static int sendingForm;
public void StartThread()
{
System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadProc));
t.SetApartmentState(System.Threading.ApartmentState.STA);
t.Start();
}
public static void ThreadProc()
{
switch (sendingForm)
{
case 1:
System.Windows.Forms.Application.Run(new MainForm());
break;
case 2:
System.Windows.Forms.Application.Run(new ReportPicker());
break;
}
}
}
アイデアは単純で、スレッドを使って練習しているだけです。それぞれの形でやりたくないので、クラスで作ってちょっとしたコードをリサイクルしてみました。ご覧のとおり、行きたいフォームを検出する方法は、行きたいフォームに応じて番号を送信することです。その数に基づいて、スレッドが実行されるフォームになります。できればこれを改善したい。行きたいフォームをパラメーターとして送信する方法を考えていましたが、各フォームは独自のタイプであるため、それを行う方法が見つかりません。実際のところ、それが可能かどうかはわかりません。それで、私のコードをより良くするのを手伝ってくれるかどうかここで尋ねます。できるだけ多くのコードをリサイクルするためだけに、私が求めている方法によるものであるかどうかは問題ではありません。これは、スレッドの使用方法を学習するためです。私を助けることができる人に感謝します。