|
■No27584 (こりん さん) に返信
> それだとShowDialog(モーダル表示)とは言えないので、ShowメソッドでOwnerFormを引数に持つオーバーロードを使えばよろしいのでは?
AddOwnedFormを使ってもGISUさんのやりたいことは実現できないかも。
Form2とForm3をモーダル関係を持たせて、複数処理をしたいみたいだから、Threadでするのがいいのかも。
まず、Form2にスレッド開始のメソッドを用意。
public void ShowHoge()
{
this.ShowDialog();
}
次にForm1にスレッドの配列を用意して
private List<Thread> thds = new List<Thread>();
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
Thread t = new Thread(new ThreadStart(f2.ShowHoge));
thds.Add(t);
t.Start();
}
こんな感じで呼び出すと、希望に近い動作になるかも。
ただし、別スレッドになるので、データの扱い方には注意してください。
それとForm2の終了時には自身のスレッド、Form1を終了する時には生存してるthdsを消すようにしてください。
|