何度かコードを書いてみましたが、毎回エラーが発生しました。基本的に、Explorer、Paint、MediaPlayer などに似た「ウィンドウ」を作成しようとしています。ここでは、ドラッグして操作し、最小化して閉じることができます。もちろん、ウィンドウをクリックした場合、その下のウィンドウ (重なり合う可能性があります) は影響を受けません。
私はこれを行う方法を知っています。私は Window と呼ぶクラスのリストを持っており、それをループし、マウスクリックの場所を含む最初のウィンドウとのみ対話します。このように、他のウィンドウの重なりは影響を受けません。[1]
次に、ユーザーが「両方のボタンの交点」をクリックしたときに、重なっている 2 つのボタンがアクティブにならないようにする必要がありました。上記で使用したのと同じ方法を使用してこれを処理しました。[2]
しかし、私が今直面している問題は、左クリックを押したままボタンをクリックしないことにした場合、マウスをボタンから離して左クリックを放すことです。アクティベートされません。しかし、マウスをボタンの境界から外して別のボタンに移動すると、新しいボタンがアクティブになります。それはすべきではありません。[3]
私のセットアップは次のようなものです: Window というクラスがあります。Window には、Interface というクラスのリストがあります (WinForms の Control クラスに似ています)。また、左/右が現在ダウンしており、前の処理でダウンしていた場合、各インターフェイスには 4 つの bool を含む構造体があります。(左前、右前、左左、右右)
だから、私はそれを破棄する準備ができています (私はまだしていないので、まだソース コードを持っています) が、オブジェクト指向タイプのアプリケーションを作成するための優れた構造が必要です。ただし、WinForms は使用していません。構造だけで助けが必要なので、実際のコードは必要ありません。説明だけで十分です。上記の3つの問題を回避する必要があります。