読者です 読者をやめる 読者になる 読者になる

Visual Studio 許すまじ

Visual Studio 2013 にて
Showで作成した小ウインドウを閉じた時に親ウインドウが見えなくなってしまうという不思議な現象に見舞われました・・・
どうも原因は親ウインドウよりもVisual Studioがしゃしゃり出てきて前面に表示されるため、
親ウインドウはアクティブ状態だけど表示されてない感じになってました。


Visual Studio再起動したら直りました。


調子悪い時はVisual Studio再起動しよ。。。



多分再現しませんが、手順です。
(と、思いましたが再現しました)

1.親ウインドウでShowにより小ウインドウを作成します。

プログラムイメージ
MainWindow : Window{
 void OpenWindow{
  var f = new SubWindow();
  f.Owner = this;
  f.Show();
 }
}

2.作成した小ウインドウでOpenFileDialogを表示させます。

プログラムイメージ
SubWindow : Window{
 void OpenFile{
  var f = new OpenFileDialog();
  f.ShowDialog( this.Owner );
 }
}

3.OpenFileDialogを「開く」か「キャンセル」のボタンを押して閉じます。

4.小ウインドウを閉じます。

5.親ウインドウが見えなくなります。
  GoodBye 親ウインドウ


小ウインドウのOwnerを設定しなかったら正常に戻ったりして無駄に時間かかりましたわ・・・