専門家、
ボタンのクリック中に 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 形式で実現するにはどうすればよいでしょうか。
あなたの助けに感謝。