[.NET] ShowDialogしたのに親ウィンドウが触れる

Windowsフォームで、ShowDialog()すると、通常はモーダル表示されてアプリ内の他のウィンドウは操作できないと思われる。
でも、

Windows.Forms.Form childForm = new Windows.Forms.Form();
childForm.BorderStyle = Windows.Forms.FormBorderStyle.FixedToolWindow;
childForm.ShowInTaskbar = false;
childForm.ShowDialog();

とすると、見かけは他のウィンドウを操作できないのだが、以下の通り。

  1. [Alt]-[Tab]でアプリを切り替え、このアプリを選択すると、ダイアログではなく元のフォームが選択される。
  2. ここでマウスを使わずにキーボード操作すると、元のフォームに対して操作を行うことが可能になってしまう。