【解決方法】別のユーザー コントロールからユーザー コントロール ボタンにアクセスする C#

プログラミングQA

[ad_1]

Usercontrol1 と Usercontrol2 の 2 つのユーザー コントロールがあります。

Usercontrol1 を Usercontrol2 にロードします。Usercontrol1 でボタンを押したときにアクションを実行する必要がある状況が必要です

Usercontrol1 のボタンを押すと、Usercontrol2 で有効になっているボタンを無効にする必要があります。

ありがとう

私が試したこと:

ユーザー コントロールからのみデータを転送できますが、アクションを実行することはできません

解決策 1

単純。 あなたはそうしない。

UserControls は、お互いについてまったく何も知らない必要があります。 別のインスタンスが存在することさえ知らないはずです。

別のコントロールに伝えたり、何かを形成したりしたい場合は、イベントを介して行います。 ユーザーが UserControl1 (または名前を付けたもの) のボタンをクリックすると、イベントのサブスクライバーが処理するイベントが発生します。 あなたの場合、それは UserControl1 インスタンスを入れたコンテナになります。

コンテナーは、イベントが発生したときに何をするかを決定します。たとえば、他の UserControl2 インスタンスに何かをするように指示します。 その UserControl2 は、パブリック メソッドとプロパティを公開して、その情報を取得し、UserControl2 が持つボタンを有効または無効にするなど、必要なことは何でも行います。

解決策 2

Dave からの提案に追加:

もう 1 つの方法は、プロパティを操作することです。 Control_2 に、必要に応じて特別な方法で動作する方法をコントロールに伝えるプロパティを与えることができます。

[ad_2]

コメント

タイトルとURLをコピーしました