なぜこれが起こるのか説明できますか?例外を再現する手順は次のとおりです。
- フォームに TextBox をドラッグ アンド ドロップします。フォーム上のボタンなど、その他のフォーカス可能なコントロールを追加します。
次のように、その TextBox に 2 つのイベント ハンドラーを追加します。
private void textBox_GotFocus(object sender, EventArgs e){ ((TextBox)sender).HideSelection = false; //<-- exception highlighted at here. } private void textBox_LostFocus(object sender, EventArgs e){ ((TextBox)sender).HideSelection = true; }
フォームを実行し、最初に textBox をクリックし、次にボタンをクリックしてから再度 textBox をクリックすると、「Win32Exception - ウィンドウ ハンドルの作成中にエラーが発生しました」という例外がスローされます。
コードは、textBox がフォーカスされてフォーカスを失ったときに、それに応じて HideSelection を変更するだけです。
アップデート
なぜそれほど揮発性なのかわかりません。別のプロジェクトを作成しましたが、問題は異なります。例外はありませんが、テキストボックスがちらつく無限ループがあります。フォームは応答していないようです。CPU使用率が消費されています。約17〜20%に。最後のデモがまだ開かれており、そのデモがまだWin32Exception
スローされています。まったく手がかりではありません。2 つのプロジェクトのコードは同じですが、問題は異なります。