C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 56 を表示中)
■31716 / )  Re[1]: 数字だけの入力制限について(コンボボックス)
□投稿者/ あ (40回)-(2009/01/27(Tue) 23:30:11)
No31715 (ひろみ さん) に返信
> 申し訳ありませんが、コンボボックスで数字のみ許可する入力制限をもうけたカスタムコントロールの作成方法を教えていただけないでしょうか。
前回のテキストボックスと同じ方法では無理です。
コンボボックスは複数のコントロールが合わさって出来ています。
EditBox + ListBox + Button(?)

なので、コンボボックスのWndProcをオーバーライドしても、WM_CHARやWM_PASTEはEditBoxで発生しているのため捕まえられません。
EditBox部分をサブクラス化してうにうにすれば可能みたいですけど、この辺は理解しないで使うと色々マズそうなのでお勧めしません。

素直にTextChangedイベントとかで判定するのが良いと思います。


[蛇足]
志村ー後ろ後ろー
> Me.MyTextBox1.PermitChars = New Char() {"0"c, "1"c, "2"c, "3"c, "4"c, "5"c};
> ↓
> Me.MyComboBox1.PermitChars = New Char() {"0"c, "1"c, "2"c, "3"c, "4"c, "5"c};

#あ、サンプルが元々そうなってるんだ。
返信 編集キー/


管理者用

- Child Tree -