2017-09-11 8 views
0

を置き換える、到着ショーはfrom1は:Winフォームのショーウィンドウは、私は、のWinFormプログラムを持つ2つのForm.form1がメインフォームである必要があり、ソケットport.whenリクエストを見て、一時的なフォームダイアログ

this.Show(); 
this.ShowInTaskbar = true; 

、ユーザーのクリックをForm1のボタンを、私はfrom1は隠すのForm2を:だから

 this.Hide(); 
     this.ShowInTaskbar = false; 
     From2 form = new  From2 (info);  
     var value = form.ShowDialog(); 

までのところはnormal.when [OK]をクリックしfrom2は、私は再び、Form1を表示したいが、Form1が多くの場合、他のプログラムによってカバーされる:

if (DialogResult.OK == value) 
     { 
      reponse(); 
     } 

     this.Show(); 
     this.ShowInTaskbar = true; 

私はform1を表示する必要がありますform2 position.howを置き換えるようですか?

答えて

1

あなたは所有者として現在のフォームを渡すShowDialogを呼び出す必要があります。

var value = form.ShowDialog(this); 

ではなくform1を隠すこれを行います。これにより、2つのフォームがウィンドウZ-Orderにリンクされたままになり、form1の入力が自動的に無効になりますが、その上にform2が表示されます。したがって、ユーザがform2のアクティビティを実行するときに、以前にZ-Orderで失われていたとしても、form2を前面に持ってきたときには、form1も前方に来るでしょう。