- PR -

イベント連鎖や連打抑止の方法について

投稿者投稿内容
ぶじお
常連さん
会議室デビュー日: 2006/05/24
投稿数: 28
投稿日時: 2007-05-22 14:51
現在VisualStudio2005、c#で開発を行っています。
イベント連鎖の回避やボタン連打の抑止の方法を模索しています。
考えているのは、フラグやカウンタなどで、制御しようと思っていますが
各イベント毎に対応しないといけないのが問題になってます。
VisualStudioの設定を返るだけとか(そんな事が出来るかわかりませんが)
簡単かつ効果的な方法があれば教えてください。
よろしくご教授お願いいたします。
lalupin4
大ベテラン
会議室デビュー日: 2004/07/26
投稿数: 163
投稿日時: 2007-05-22 14:59
引用:

ぶじおさんの書き込み (2007-05-22 14:51) より:
現在VisualStudio2005、c#で開発を行っています。

 WindowsFormsですか?ASP.NETですか?
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 2007-05-22 15:01
イベント連鎖のほうは、どのイベントかを明記したほうがアドバイスしやすいかもしれません。

ボタン連打のほうはやはりフラグを立てて未処理にするか、Enabledをtrueにして押せなくするかという方法が一番メジャーじゃないでしょうか?
ぶじお
常連さん
会議室デビュー日: 2006/05/24
投稿数: 28
投稿日時: 2007-05-22 16:55
lalupin4さん、うちうせんさん
回答ありがとうございます。
WindowsFormsで制御したいのですが、ボタンをEnabledをtrueにして押せなくするのは、顧客NGですので、困っています。
イベントとしては、ボタンクリック時やテキストボックス変更時等を考えています。
よろしくお願いします。
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 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 ]
ひろれい
ぬし
会議室デビュー日: 2006/03/02
投稿数: 486
お住まい・勤務地: 万博開催地
投稿日時: 2007-05-22 17:10
スレ主さんは、アプリ内で制御すると工数大なので、もっと簡単に制御できる方法がないかを模索していると思うのですが・・・
ぶじお
常連さん
会議室デビュー日: 2006/05/24
投稿数: 28
投稿日時: 2007-05-22 17:21
うちうせんさん、ひろれいさん
回答ありがとうございます。
うちうせんさん質問がわかりにくくてすみません。

ひろれいさんのご指摘のとおり、開発が進んでいますので
今更、イベント毎にソースを修正するのは、なるべく避けたいと思っています。
クラスの継承で逃げられないかなとも思っているのですが・・・。
引き続き、ご教授よろしくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-05-23 10:40
カスタム コントロールにして置換するという手があります。
Click イベント内で条件 (再入防止の) CustomClick イベントを Raise するとか。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)