私はUsercontrolから派生したカスタムコントロールを書いています。その中には、私がアクセスできないようにするいくつかのコントロール(テキストボックス、コンボボックス)があります。ユーザーが「編集」ボタンをクリックしたときにのみ、相互作用が可能になります。他のコントロールでUserControlの子コントロールを非表示
私は約KeyPreviewを読んでいますが、フォームでのみ利用できます。すべてのイベントを共通のハンドラにリダイレクトすると、編集モードが有効になっているかどうかを確認できます。
他の透明コントロールを(Z順に)配置する方法はありますか?マウスとキーのイベントをすべて傍受しますが、コントロールは通常どおりレンダリングされますか?それとも別の解決策がありますか?
編集: 他のコントロールをカバーするコントロールでマウスイベントを受け取りたい。ドラッグ&ドロップやカスタムコントロールの移動に必要なものがあります。
通常、ユーザーが編集をクリックしたときに 'ReadOnly'から' Edit'にモードを変更するUserControlでFormViewを使用します。他のすべてのアプローチはこれよりも面倒です。 –
@TimSchmelter:それはwinformsで動作しますか? – XORcist
これを行う通常の方法は、コントロールを 'Panel'に置くことです。' panel.Enabled = false'を設定すると、コントロールとのユーザーのやり取りが無効になります。コントロールは淡色で表示されますが、これは尋ねたものではありませんが、おそらくほとんどのユーザーが期待するものです。 – Justin