1

専門家、

ボタンのクリック中に Windows アプリケーションで 1 つの問題に直面しています。

A.csとB.csの2つのファイルがあります

A.cs ファイルには「読み込み」というボタンがあり、このボタンをクリックすると、B.cs で関数をトリガーする必要があります。

これを行うために、イベント ハンドラーを作成しました。

共通ファイル:

public delegate void MyEventHandler(object sender, EventArgs e, string TagId);

A.cs ファイル:

公開イベント MyEventHandler OnTagLoad;

private void btnLoad_Click(object sender, EventArgs e) { if (OnTagLoad != null) { OnTagLoad(sender, e, runTimeData); } }

B.cs ファイル:

HostForm.OnTagLoad += new MyEventHandler(HostForm_OnTagLoad);

private void HostForm_OnTagLoad(object sender, EventArgs e, string runTimeData) { //いくつかの機能を実行します }

問題:

[読み込み] ボタンをクリックすると、イベントが 2 回トリガーされ、もう一度ボタンをクリックすると、同じイベントが 3 回呼び出されます....

[読み込み] ボタンをクリックするたびに、イベントは 1 回だけ発生するはずです。これを Windows 形式で実現するにはどうすればよいでしょうか。

あなたの助けに感謝。

4

1 に答える 1