- - PR -
イベント連鎖や連打抑止の方法について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-05-22 14:51
現在VisualStudio2005、c#で開発を行っています。
イベント連鎖の回避やボタン連打の抑止の方法を模索しています。 考えているのは、フラグやカウンタなどで、制御しようと思っていますが 各イベント毎に対応しないといけないのが問題になってます。 VisualStudioの設定を返るだけとか(そんな事が出来るかわかりませんが) 簡単かつ効果的な方法があれば教えてください。 よろしくご教授お願いいたします。 | ||||
|
投稿日時: 2007-05-22 14:59
| ||||
|
投稿日時: 2007-05-22 15:01
イベント連鎖のほうは、どのイベントかを明記したほうがアドバイスしやすいかもしれません。
ボタン連打のほうはやはりフラグを立てて未処理にするか、Enabledをtrueにして押せなくするかという方法が一番メジャーじゃないでしょうか? | ||||
|
投稿日時: 2007-05-22 16:55
lalupin4さん、うちうせんさん
回答ありがとうございます。 WindowsFormsで制御したいのですが、ボタンをEnabledをtrueにして押せなくするのは、顧客NGですので、困っています。 イベントとしては、ボタンクリック時やテキストボックス変更時等を考えています。 よろしくお願いします。 | ||||
|
投稿日時: 2007-05-22 17:03
Enabledが使えないのであれば、フラグで制御はどうでしょう?
[code] private ボタン_Click(...) { static int Flg = false; if(Flg == true) return ; Flg = true; //処理 Flg = false; } [/code] 文法とかちょっと違うかもしれませんがこんな感じでしょうか? [ メッセージ編集済み 編集者: うちうせん 編集日時 2007-05-22 17:07 ] | ||||
|
投稿日時: 2007-05-22 17:10
スレ主さんは、アプリ内で制御すると工数大なので、もっと簡単に制御できる方法がないかを模索していると思うのですが・・・
| ||||
|
投稿日時: 2007-05-22 17:21
うちうせんさん、ひろれいさん
回答ありがとうございます。 うちうせんさん質問がわかりにくくてすみません。 ひろれいさんのご指摘のとおり、開発が進んでいますので 今更、イベント毎にソースを修正するのは、なるべく避けたいと思っています。 クラスの継承で逃げられないかなとも思っているのですが・・・。 引き続き、ご教授よろしくお願いします。 | ||||
|
投稿日時: 2007-05-23 10:40
カスタム コントロールにして置換するという手があります。
Click イベント内で条件 (再入防止の) CustomClick イベントを Raise するとか。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |