- PR -

VBソースはC#ソースに転換する質問

1
投稿者投稿内容
根性
常連さん
会議室デビュー日: 2004/03/10
投稿数: 39
投稿日時: 2004-07-30 01:34
VBのソースには

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 8 Then Exit Sub
If KeyAscii < 48 Or KeyAscii > 57 Then
Beep
KeyAscii = 0
End If

を書いています。

これは入力域に入力する時に、0〜9だけ入力できます。

今はC#で上記の機能を実現したいが、C#中にKeyAsciiがないから、実現できなくなりますね。

解決案があれば、教えてください。

よろしくお願いいたします。
_________________
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2004-07-30 07:56
諸農です。

引用:

今はC#で上記の機能を実現したいが、C#中にKeyAsciiがないから、実現できなくなりますね。



ん??
KeyPressEventArgs.KeyCharでは無理なんですか?

_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
根性
常連さん
会議室デビュー日: 2004/03/10
投稿数: 39
投稿日時: 2004-07-30 15:09
試したところ、成功になりました。

ありがとうございました。
_________________
根性
常連さん
会議室デビュー日: 2004/03/10
投稿数: 39
投稿日時: 2004-07-31 16:00
すみませんが、また一つ質問があります。

上記の遣り方はHandled を true に設定し、オペレーティング システムによるキーの処理が行われないようにします。

しかし全角を入力すれば、Handledをtrueに設定し、キーの処理が行われるんです。

どうしたら、いいでしょうか。

解決案を教えていただきませんか。

よろしくお願いいたします。
_________________
おさるさん
常連さん
会議室デビュー日: 2004/01/05
投稿数: 24
投稿日時: 2004-07-31 16:14
引用:

泳げないさんの書き込み (2004-07-31 16:00) より:

しかし全角を入力すれば、Handledをtrueに設定し、キーの処理が行われるんです。

どうしたら、いいでしょうか。




そのText1のimeModeプロパティをDisableにすると半角のみになりますよ。

いかがですか?
根性
常連さん
会議室デビュー日: 2004/03/10
投稿数: 39
投稿日時: 2004-07-31 16:34
おさるさん、ご回答有難うございました。

今は解決しました。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=4013
_________________
1

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