企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
<p><strong><span style="font-size:16px;">KeyPress 事件</span></strong></p> <p>当用户按下并释放ANSI密钥时发生</p> <p><br /> </p> <p><span></span></p> <p class="label"><b>语法</b></p> <p><b></b></p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><b><b>Private Sub Form_KeyPress(</b><i>keyascii&nbsp;</i><b>As Integer)</b></b></p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><b><b>Private Sub&nbsp;</b><i>Object</i><b>_KeyPress(</b>&nbsp;[&nbsp;<i>index&nbsp;</i><b>As Integer</b>,]&nbsp;<i>keyascii&nbsp;</i><b>As Integer)</b></b></p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><b><b><br /> </b></b></p> <b></b><p><br /> </p> <p>KeyPress&nbsp;事件的语法包含下面部分:<span></span></p> <table class="MsoNormalTable" border="1" cellpadding="0"><tbody><tr><td width="29%" valign="top"><p class="MsoNormal"><em>部分</em></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><em>描述</em></p> </td> </tr> <tr><td width="29%" valign="top"><p class="MsoNormal"><em>object</em></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><em>对象表达式</em><em>,其值是</em><em> “</em><em>应用于</em><em>”</em><em>列表中的一个对象。</em></p> </td> </tr> <tr><td width="29%" valign="top"><p class="MsoNormal"><em>index&nbsp;</em><em></em><em></em></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><span style="font-size:9.0pt;font-family:宋体;"><span><span style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;line-height:17.55px;">一个整数,唯一标识一个控件,如果它在一个控制数组。</span></span></span><span style="font-size:9.0pt;font-family:宋体;"><span></span><span></span></span><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> </tr> <tr><td width="29%" valign="top"><p class="MsoNormal"><em>keyascii&nbsp;</em></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><span style="font-size:9.0pt;font-family:宋体;"><span>返回标准数字ANSI键码的整数。</span><i>Keyascii</i><span>通过参考;&nbsp;更改它会向对象发送不同的字符。将</span><i>keyascii</i><span>更改为0将取消按键,因此对象不会收到字符。</span></span><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> </tr> </tbody> </table> <p class="MsoNormal">&nbsp;</p> <p class="label"><b>说明</b></p> <p><br /> </p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">焦点对象接收事件。窗体只有在没有可见和启用的控件或<b>KeyPreview</b>属性设置为<b>True时</b>才能接收该事件。KeyPress事件可以涉及任何可打印的键盘字符,CTRL键与来自标准字母的字符或几个特殊字符之一以及ENTER或BACKSPACE键组合。KeyPress事件过程可用于拦截在<b>TextBox</b>或<b>ComboBox</b>控件中输入的按键。它使您能够立即测试按键的有效性或格式化字符的类型。更改<i>keyascii</i>参数的值会更改显示的字符。</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">您可以使用以下表达式将<i>keyascii</i>参数转换为字符:</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><br /> </p> <pre>CHR(KeyAscii)</pre> <p><br /> </p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">然后,您可以执行字符串操作,并将该字符转换回控制可以使用以下表达式解释的ANSI数字:</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><br /> </p> <pre>KeyAscii = Asc(char)</pre> <p><br /> </p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">使用KeyDown和KeyUp事件过程来处理KeyPress无法识别的任何按键,例如功能键,编辑键,导航键以及这些与键盘修改器的任意组合。与KeyDown和KeyUp事件不同,KeyPress不表示键盘的物理状态;&nbsp;而是通过一个字符。</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">KeyPress将每个字符的大写和小写解释为单独的键代码,因此,作为两个单独的字符。KeyDown和KeyUp通过两个参数来解释每个字符的大写和小写:<i>keycode</i>,表示物理键(从而返回A和A作为相同的键)和<i>shift</i>,表示<i>shift</i>&nbsp;+&nbsp;<i>Key</i>的状态,因此返回A或a。</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">如果<b>KeyPreview</b>属性设置为<b>True</b>,则表单在控件之前接收事件,接收事件。使用<b>KeyPreview</b>属性创建全局键盘处理例程。</p> <blockquote class="dtBlock" style="color:#000000;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><b class="le">注意</b>&nbsp;&nbsp;&nbsp;&nbsp;CTRL + @的键盘组合的ANSI编号为0.由于Visual Basic将<i>keyascii</i>值0&nbsp;识别为零长度字符串(“”),因此请避免在应用程序中使用CTRL + @。</blockquote> <p><br /> </p> <p><br /> </p>