VB代码中KeyAscii具体是怎么用的,是什么意思?

作者&投稿:蓍潘 (若有异议请与网页底部的电邮联系)
vb中的KeyAscii是什么意思,如何使用?有哪些数字?~

KeyAscii是键盘输入后传递给程序的ASCII码,关于ASCII码,各种电脑书籍一般都有附录,网络上搜索也很多。
常规ASCII码是0~127,一般可以显示的是32~127
关于KeyAscii的使用,主要是拦截判断键盘输入的键值,比如,只允许输入数字,就可以在文本框的KeyPress中输入:
If
KeyAscii
<
48
Or
KeyAscii
>
57
Then
KeyAscii
=
0

是把输入的按键视为空白,即按下的键无效。

这里有一个非常简单的例子:当一个文本框edMain的多行属性为False时按下回车键电脑会发出“咚”的一声,提示按键无效。如果想让按下回车键不发出“咚”的一声的话,就要使回车键失效。这个时候KeyAscii=0就派上用场了。代码如下:
Private Sub edMain_KeyPress(KeyAscii as integer)
if keyascii=13 then

keyascii=0 '当按下回车键时使回车键失效
endif
end sub

keyascii表示你按下的键的代码(AScii码)可以用以下常数表示。

在VB中,注释有2种方式。

1、以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。

2、使用一个撇号(')来代替Rem关键字。若使用撇号,则在其他语句行使用时不必加冒号。

扩展资料:

制作应用程序安装盘等为用户提供了友好的集成开发环境,具体表现在:在使用传统的程序设计语言编程时,一般需要通过编写程序来设计应用程序的界面(如界面的外观和位置等),在设计过程中看不见界面的实际效果。

而在Visual Basic 6.0中,采用面向对象程序设计方法,把程序和数据封装起来作为一个对象,每个对象都是可视的。开发人员在界面设计时,可以直接用Visual Basic 6.0的工具箱在屏幕上"画"出窗口、菜单、命令按键等不同类型的对象。

参考资料来源:百度百科-Visual Basic



keyascii表示你按下的键的代码(AScii码)
可以用以下常数表示。
===========
Keycode 常数

可在代码中的任何地方用下列常数代替实际值:

常数 值 描述
vbKeyLButton 0x1 鼠标左键
vbKeyRButton 0x2 鼠标右键
vbKeyCancel 0x3 CANCEL 键
vbKeyMButton 0x4 鼠标中键
vbKeyBack 0x8 BACKSPACE 键
vbKeyTab 0x9 TAB 键
vbKeyClear 0xC CLEAR 键
vbKeyReturn 0xD ENTER 键
vbKeyShift 0x10 SHIFT 键
vbKeyControl 0x11 CTRL 键
vbKeyMenu 0x12 MENU 键
vbKeyPause 0x13 PAUSE 键
vbKeyCapital 0x14 CAPS LOCK 键
vbKeyEscape 0x1B ESC 键
vbKeySpace 0x20 SPACEBAR 键
vbKeyPageUp 0x21 PAGE UP 键
vbKeyPageDown 0x22 PAGE DOWN 键
vbKeyEnd 0x23 END 键
vbKeyHome 0x24 HOME 键
vbKeyLeft 0x25 LEFT ARROW 键
vbKeyUp 0x26 UP ARROW 键
vbKeyRight 0x27 RIGHT ARROW 键
vbKeyDown 0x28 DOWN ARROW 键
vbKeySelect 0x29 SELECT 键
vbKeyPrint 0x2A PRINT SCREEN 键
vbKeyExecute 0x2B EXECUTE 键
vbKeySnapshot 0x2C SNAPSHOT 键
vbKeyInsert 0x2D INSERT 键
vbKeyDelete 0x2E DELETE 键
vbKeyHelp 0x2F HELP 键
vbKeyNumlock 0x90 NUM LOCK 键

A 至 Z 键与 A – Z 字母的 ASCII 码相同:

常数 值 描述
vbKeyA 65 A 键
vbKeyB 66 B 键
vbKeyC 67 C 键
vbKeyD 68 D 键
vbKeyE 69 E 键
vbKeyF 70 F 键
vbKeyG 71 G 键
vbKeyH 72 H 键
vbKeyI 73 I 键
vbKeyJ 74 J 键
vbKeyK 75 K 键
vbKeyL 76 L 键
vbKeyM 77 M 键
vbKeyN 78 N 键
vbKeyO 79 O 键
vbKeyP 80 P 键
vbKeyQ 81 Q 键
vbKeyR 82 R 键
vbKeyS 83 S 键
vbKeyT 84 T 键
vbKeyU 85 U 键
vbKeyV 86 V 键
vbKeyW 87 W 键
vbKeyX 88 X 键
vbKeyY 89 Y 键
vbKeyZ 90 Z 键

0 至 9 键与数字 0 – 9 的 ASCII 码相同:

常数 值 描述
vbKey0 48 0 键
vbKey1 49 1 键
vbKey2 50 2 键
vbKey3 51 3 键
vbKey4 52 4 键
vbKey5 53 5 键
vbKey6 54 6 键
vbKey7 55 7 键
vbKey8 56 8 键
vbKey9 57 9 键

下列常数代表数字键盘上的键:

常数 值 描述
vbKeyNumpad0 0x60 0 键
vbKeyNumpad1 0x61 1 键
vbKeyNumpad2 0x62 2 键
vbKeyNumpad3 0x63 3 键
vbKeyNumpad4 0x64 4 键
vbKeyNumpad5 0x65 5 键
vbKeyNumpad6 0x66 6 键
vbKeyNumpad7 0x67 7 键
vbKeyNumpad8 0x68 8 键
vbKeyNumpad9 0x69 9 键
vbKeyMultiply 0x6A MULTIPLICATION SIGN (*) 键
vbKeyAdd 0x6B PLUS SIGN (+) 键
vbKeySeparator 0x6C ENTER 键
vbKeySubtract 0x6D MINUS SIGN (–) 键
vbKeyDecimal 0x6E DECIMAL POINT (.) 键
vbKeyDivide 0x6F DIVISION SIGN (/) 键

下列常数代表功能键:

常数 值 描述
vbKeyF1 0x70 F1 键
vbKeyF2 0x71 F2 键
vbKeyF3 0x72 F3 键
vbKeyF4 0x73 F4 键
vbKeyF5 0x74 F5 键
vbKeyF6 0x75 F6 键
vbKeyF7 0x76 F7 键
vbKeyF8 0x77 F8 键
vbKeyF9 0x78 F9 键
vbKeyF10 0x79 F10 键
vbKeyF11 0x7A F11 键
vbKeyF12 0x7B F12 键
vbKeyF13 0x7C F13 键
vbKeyF14 0x7D F14 键
vbKeyF15 0x7E F15 键
vbKeyF16 0x7F F16 键

KeyAscii 是一个接收键盘向程序发送按键按下时的Ascii码的变量...其实它没有什么神秘,它仅仅是一个传递的变量而已....但它有一个特别之处就是这是一个固定的变量,既不能用其它字符代替...

前面说的不对
我说个例子就打破他的说法了(汉字也有对应的ascii码,键盘没汉字吧!)

keyascii表示你按下的键后的字符代码(字符AScii码)

上面也给了例子,例子是对的!但他的说法应该改正为我的说法了!

使用案例:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Chr(KeyCode) = "A" Then Image1.Left = Image1.Left - 100
If Chr(KeyCode) = "D" Then Image1.Left = Image1.Left + 100
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) = "w" Then Image1.Top = Image1.Top - 100
If Chr(KeyAscii) = "s" Then Image1.Top = Image1.Top + 100
End Sub
例一:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then you.Top = You.Top - 10
If KeyCode = vbKeyDown Then You.Top = You.Top + 10

If KeyCode = vbKeyleft Then you.Top = You.left - 10
If KeyCode = vbKeyright Then You.Top = You.left + 10
End Sub
例二:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 37 Then pig.Left = pig.Left - 10
If KeyCode = 38 Then pig.Top = pig.Top - 10
If KeyCode = 39 Then pig.Left = pig.Left + 10
If KeyCode = 40 Then pig.Top = pig.Top + 10
End Sub
例三:
Private Sub Form_KeyPress(KeyAscii As Integer)
if chr(keyascii)="a" then pig.Left = pig.Left - 10
if chr(keyascii)="d" then pig.Left = pig.Left + 10
if chr(keyascii)="w" then pig.top = pig.top - 10
if chr(keyascii)="s" then pig.top = pig.top + 10
end sub


VB代码中KeyAscii具体是怎么用的,是什么意思?
keyascii表示你按下的键的代码(AScii码)可以用以下常数表示。在VB中,注释有2种方式。1、以Rem关键字开头,并且Rem关键字与注释内容之间要加一个空格。注释可以是单独的一行,也可以写在其他语句行的后面。如果在其他语句行后使用Rem关键字,则必须使用冒号(:)与语句隔开。2、使用一个撇号(')来...

vb中文本框可以输出的内容如何在列表框里输出?
1)在窗体上布置一个TextBox控件和一个ListBox控件 2)代码 Option ExplicitPrivate Sub Form_Load() ' 窗体启动时,清空Text1和List1 Text1.Text = "" List1.ClearEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) ' 如果按下了回车键(回车键的Ascii码为13) If KeyAs...

vb点击一个按钮就相当于按下了键盘上的某个键,这段代码是什么?
这段代码是:模拟键盘按键 '函数申明 Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)Const KEYEVENTF_KEYUP = &H2 '释放按键常数 '回车键例子 Private Sub Command1_Click()Text1.SetFocus Cal...

vb,如何控制键盘上的ctrl+c组合健和ctrl+v组合健,VB代码如何编写
Private Const VK_RMENU As Long = &HA5 '右 Alt 键Private Const VK_RSHIFT As Long = &HA1Private Const VK_RWIN As Long = &H5CPrivate Const VK_SCROLL As Long = &H91 'Scroll Lock 键Private Const VK_SEPARATOR As Long = &H6C '小键盘上的回车键Private Const VK_SHIFT As Long = &H10...

PHP获取数组中重复的元素实例教程
a 方法一:代码如下 function array_repeat($arr) { if(!is_array($arr)) return $arr; $arr = array_count_values($arr); $newArr = array(); foreach($arr as $k=>$v) { if($v> ) array_push($newArr $k); } return $newArr; } b 方法二:代码如下 function array...

关于vb中全局热键的一点小问题
'添加窗体Form1,然后添加如下代码:PrivateSubForm_Load()SetTimerMe.hwnd,0,1,AddressOfTimerProc EndSub PrivateSubForm_Unload(CancelAsInteger)KillTimerMe.hwnd,0 EndSub '要做的事 PublicSubdeal()Print"ok"EndSub '以下放到模块Module1.bas中 '=== PublicConstDT_CENTER=&H1 PublicConstDT_WORDBR...

...= CreateObject("scripting.dictionary")这段代码每句的意思?_百度...
set dic=这句代码的意思是指定dic这个变量为字典。[B65536].End(3).Row的意思是sheet工作表中往右最后一个非空单元格的行号(不过我觉得应该使用end(4),就是往下最后一行的行号)。for next这句循环语句的作用就是依次把B2到B列最后一行的每一个单元格的值装进字典的key里,其对应的item为空值...

如何在Excel VBA中使用字典Dictionary对象
在VBA中使用字典分为前期绑定和后期绑定两种方式,一、前期绑定:打开VBE编辑器,按下图操作,勾选相应选项就可以直接使用字典了。二、后期绑定:如下代码即创建了一个名称为d的字典。Set d = CreateObject("scripting.dictionary")

php代码foreach ($res AS $row)什么意思?
php代码foreach ($res AS $row) 意思是:每进行一次循环迭代,$res数组元素的值就会被赋值给 $row变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。例如:<?php colors = array("red","green","blue","yellow");foreach ($colors as $value) { echo "$value ";} ?> ...

asp中的scripting.dictionnay怎么理解?
下面的代码改变键为MyKey的条目中的数据。ObjMyData.Item(“MyKey”) = “NewValue” ‘ In VBScriptObjMyData.Item(‘MyKey’) = ‘NewValue’; \/\/ In JScript如果指定的键在Dictionary未找到,将在Dictionary中创建一个以MyKey为键,以New Value为其条目值的新的键\/条目对。有意思的是,如果使用一个不...

木里藏族自治县13675841593: VB代码中KeyAscii具体是怎么用的,是什么意思? -
郸启骨刺: 使用案例: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Chr(KeyCode) = "A" Then Image1.Left = Image1.Left - 100 If Chr(KeyCode) = "D" Then Image1.Left = Image1.Left + 100 End Sub Private Sub Form_KeyPress...

木里藏族自治县13675841593: vb中的KeyAscii是什么意思,如何使用?有哪些数字? -
郸启骨刺: KeyAscii是键盘输入后传递给程序的ASCII码,关于ASCII码,各种电脑书籍一般都有附录,网络上搜索也很多. 常规ASCII码是0~127,一般可以显示的是32~127 关于KeyAscii的使用,主要是拦截判断键盘输入的键值,比如,只允许输入数字,就可以在文本框的KeyPress中输入: If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0

木里藏族自治县13675841593: VB中这个keypress代码是什么意思 -
郸启骨刺: Keypress键盘上当前按下的ASCII码 ascii=48的字符是"0",57是"9",45是"-",46是".",8是退格(backspace) 意思是:除了数字字符,减号,点,退格外,按其他字符,均使ascii码=0,即,屏蔽其它字符

木里藏族自治县13675841593: 在VB程序设计中,KeyAscii=0是什么意思,执行的结果是什么,为什么是这样的结果? -
郸启骨刺: KeyAscii=0的作用是取消按键.让你的按键操作失效.不管按下a还是b等等,都经过KeyAscii=0这个命令后被取消了.

木里藏族自治县13675841593: vb中 keyascii as integer 是什么意思 -
郸启骨刺: keyascii as integer 使一些函数的参数,keyascii 是参数名称,as integer是指定参数类型 表示这是一个整形的变量,常见于如下的函数 public sub textbox_keypress(keyascii as integer) .... end subkeyascii 里是接收到的一个键的ascii码(取值0---255)

木里藏族自治县13675841593: vb的KeyAscii -
郸启骨刺: Private Sub Text2_KeyPress(KeyAscii As Integer) If KeyAscii8 And (KeyAscii57) Then KeyAscii = 0'为了逻辑明了 可以加个括号 End Sub

木里藏族自治县13675841593: vb 6.0 中的一些程序的“ KeyAscii=13”是什么意思? -
郸启骨刺: 回车

木里藏族自治县13675841593: vb中chr和keyAscii的区别? -
郸启骨刺: VB6.0中: Chr 函数,返回 String,其中包含有与指定的字符代码相关的字符 . Chr 函数示例 本示例使用 Chr 函数来返回指定字符码所代表的字符. Dim MyChar MyChar = Chr(65) ' 返回 A. MyChar = Chr(97) ' 返回 a. MyChar = Chr(62) ' 返回 ...

木里藏族自治县13675841593: vb 怎样使用回车的keyascii码
郸启骨刺: '示例代码如下: Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then MsgBox "按了回车键" End Sub

木里藏族自治县13675841593: VB:关于KeyAscii = 13的问题 -
郸启骨刺: 在combo中输入文本,按下回车键(keyascii=13)将输入的文本添加到combo的list中.同时验证输入的文本是否已经存在于combo的list中,如果存在的话则label1上出现已经存在该项目的提示并且不执行添加操作,不存在的话就提示“已经成功添加该项目”并将输入的内容添加,这段代码应该在combo1_keypress中吧

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网