- PR -

コンボボックスで上下キー押下時にItemを変更しない

1
投稿者投稿内容
00_Number
常連さん
会議室デビュー日: 2003/11/04
投稿数: 37
投稿日時: 2004-03-30 14:09
いつもお世話になっております。

コンボボックスにフォーカスがある状態で上下キーを押下するとItemが変更されますが、こちらを変更されないようにロックをかける方法はないでしょうか。
ProcessCmdKey等でUpキーとDownキーを潰すという方法はコンボボックスのKeyDownイベントが取れなくなってしまうので使いたくありません。

解決方法をご存知の方いらっしゃいましたら教えて頂きたいと思います。
ant
常連さん
会議室デビュー日: 2004/03/24
投稿数: 44
投稿日時: 2004-03-31 12:18
見当違いなことでしたら、申し訳ありません。

> ProcessCmdKey等でUpキーとDownキーを潰すという方法

”潰す”ということをどのように実装されているのか分からないのですが、
普通にProcessCmdKeyメソッドをオーバーライドして、その中で
基本クラスのProcessKeyEventArgsメソッドを呼び出してやればいいと思うのですが…。

コード:
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message 
				msg, System.Windows.Forms.Keys keyData)
{		
	if((keyData == Keys.Up) || (keyData == Keys.Down))
	{
		base.ProcessKeyEventArgs(ref msg);
		return true;
	}
	
	return base.ProcessCmdKey(ref msg,keyData);
}

1

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