- PR -

コンボボックスで選択前のイベントを拾ってキャンセル操作をしたい

1
投稿者投稿内容
ポテチ
ベテラン
会議室デビュー日: 2003/03/28
投稿数: 69
投稿日時: 2005-03-03 18:56
こんにちは
コンボボックスでSelectedIndexChangedが発生する前に状況によりキャンセルをしたいのですが、
Clickイベントではクリックしたタイミングで現在の値を取得できますがF4キーが押された場合や、下矢印等のイベントには反応してくれません。
よろしくお願いします。

まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2005-03-03 19:02
KeyDownイベントを使ってみるとか。
_________________
まゆりん @ わんくま同盟
Blog る。
ポテチ
ベテラン
会議室デビュー日: 2003/03/28
投稿数: 69
投稿日時: 2005-03-03 19:33
ありがとうございました。
KeyDownやClickイベントの合わせ技しかないのですね。
変更前に発生するイベント等はないのですね。
ポテチ
ベテラン
会議室デビュー日: 2003/03/28
投稿数: 69
投稿日時: 2005-03-03 19:44
あまりスマートではないのですが以下のようにしました。
コンボボックスはSelectedIndexChanged以外に値変更前のイベントが必要だなと思いました。

int mcbval= -1;

private void cb_SelectedIndexChanged(object sender, System.EventArgs e)
{

if(mcbval > -1 )
{
this.cb.SelectedValue = mcbval;
mcbval = -1;
return ;
}


private void cb_Click(object sender, System.EventArgs e)
{
mcbval = (int)this.cb.SelectedValue;
this.cb.SelectedValue = mcbval;
}

private void cb_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
mcbval = (int)this.cb.SelectedValue;
this.cb.SelectedValue = mcbval;
}
1

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