私たちの「大きな」Winforms .Net アプリケーションでは、いくつかのボタンが奇妙な状態でスタックしています。
コンテナー パネルを Enabled = False に設定し、ボタンを Enabled = True に設定してから、パネルを Enabled = True に設定すると、ボタンはマウス イベントに反応しなくなります。それ自体は正しく描画されず、ボタンには WS_Disabled 状態がまだ設定されています。
コントロールはマウス オーバーやボタン クリックには反応しませんが、アクティブなボタンのように描画されます。(グレーアウトされていません)。タブを使用すると、実際にコントロールにフォーカスすることができ、マウスがボタンの上にあるときにタブで移動すると、選択またはホバーされた状態でペイントされます。
一部のスクロールバーもスタックしているように見えますが、それらがホストしているグリッドはまだ編集可能です。
一部のボタンがスタックする方法と理由をデバッグする簡単な方法はありますか? Spy++ を使用すると、スタイルとして WS_Disabled が設定されていることがわかりましたが、それがどのように発生するかわかりません。
バージョン 12.2 の DevExpress コンポーネントを使用しています。しかし、これは以前のバージョンでも発生しました。