企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
<p><strong><span style="font-size:16px;">KeyUp 事件</span></strong></p> <p>当对象具有焦点时,用户释放(KeyUp)键。(要解释ANSI字符,请使用KeyPress事件。)</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</b>&nbsp;<b>Form_KeyUp(</b><i>keycode</i>&nbsp;<b>As Integer</b>,&nbsp;<i>shift</i>&nbsp;<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 O</b><i>bject</i><b>_KeyUp(</b>[<i>index</i>&nbsp;<b>As Integer</b>,]<i>keycode</i>&nbsp;<b>As Integer</b>,&nbsp;<i>shift</i>&nbsp;<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>KeyUp&nbsp;事件的语法包含下面部分:<span></span></p> <table class="MsoNormalTable" border="1" cellpadding="0"><tbody><tr><td width="29%" valign="top"><p class="MsoNormal"><b><span style="font-size:9.0pt;font-family:宋体;">部分</span></b><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><b><span style="font-size:9.0pt;font-family:宋体;">描述</span></b><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> </tr> <tr><td width="29%" valign="top"><p class="MsoNormal"><span class="emp"><i><span style="font-size:9.0pt;">object</span></i></span><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><span style="font-size:9.0pt;font-family:宋体;"><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>index</em><em>&nbsp;</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>keycode</em><em>&nbsp;</em></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><span style="font-size:9.0pt;font-family:宋体;"><span><span>一个关键代码,如</span><b>vbKeyF1</b><span>(F1键)或</span><b>vbKeyHome</b><span>(HOME键)。要指定键代码,请使用对象浏览器中的Visual Basic(VB)对象库中的常量。</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>shift</em><em>&nbsp;</em><span style="font-size:9.0pt;font-family:宋体;"></span></p> </td> <td width="71%" valign="top"><p class="MsoNormal"><span style="font-size:9.0pt;font-family:宋体;"><span>与事件发生时的SHIFT,CTRL和ALT键的状态相对应的整数。的</span><i>shift</i><span>参数是与对应于SHIFT键的至少-显著位(位0),CTRL键(第1位),以及ALT键(第2位)的比特字段。这些位分别对应于值1,2和4。可以设置一些,全部或任何位,表示某些,全部,或没有一个按键被按下。例如,如果按住CTRL和ALT两者,</span><i>shift的</i><span>值为6。</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 style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">对于这个事件,具有焦点的对象将接收所有的击键。一个表单只有在没有可见和启用的控件时才能有焦点。虽然KeyDown和KeyUp事件可以应用于大多数键,但它们最常用于:</p> <ul style="color:#000000;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><li>扩展字符键,如功能键。</li> <li>导航键</li> <li>键与标准键盘修饰符的组合。</li> <li>区分数字小键盘和常规数字键。</li> </ul> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">如果您需要响应键的按压和释放,请使用KeyDown和KeyUp事件过程。</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">KeyDown和KeyUp不会被调用:</p> <ul style="color:#000000;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><li>如果形式所具有的ENTER键<b>命令按钮</b>与控制<b>默认</b>设置为属性<b>真</b>。</li> <li>如果窗体具有将<b>Cancel</b>属性设置为<b>True</b>的<b>CommandButton</b>控件,则ESC键。<b></b><b></b></li> <li>TAB键。</li> </ul> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">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;">如果需要测试<i>shift</i>参数,可以使用定义参数中的位的<i>shift</i>常数。常数具有以下值:</p> <div class="tablediv" style="color:#000000;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><div class="contentTableWrapper"><table class="dtTABLE" style="border:1px solid #BBBBBB;"><tbody><tr><th width="22%" style="color:#636363;background-color:#EDEDED;">不变</th> <th width="14%" style="color:#636363;background-color:#EDEDED;">值</th> <th width="64%" style="color:#636363;background-color:#EDEDED;">描述</th> </tr> <tr><td width="22%" style="color:#2A2A2A;"><b>vbShiftMask</b></td> <td width="14%" style="color:#2A2A2A;">1</td> <td width="64%" style="color:#2A2A2A;">SHIFT键位掩码。</td> </tr> <tr><td width="22%" style="color:#2A2A2A;"><b>VbCtrlMask</b></td> <td width="14%" style="color:#2A2A2A;">2</td> <td width="64%" style="color:#2A2A2A;">CTRL键位掩码。</td> </tr> <tr><td width="22%" style="color:#2A2A2A;"><b>VbAltMask</b></td> <td width="14%" style="color:#2A2A2A;">4</td> <td width="64%" style="color:#2A2A2A;">ALT键位掩码。</td> </tr> </tbody> </table> </div> </div> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">常数作为位掩码,您可以使用它来测试密钥的任何组合。</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">您通过首先将每个结果分配给一个临时整数变量,然后将<i>shift</i>与位掩码进行比较来测试条件。使用带有<i>shift</i>参数的<b>And</b>运算符来测试条件是否大于0,表示修改器被按下,如下例所示:</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><br /> </p> <pre>ShiftDown =(Shift和vbShiftMask)&gt; 0</pre> <p><br /> </p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;">在一个过程中,您可以测试任何条件的组合,如本例所示:</p> <p style="color:#2A2A2A;font-family:'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif;font-size:13px;"><br /> </p> <pre>如果ShiftDown和CtrlDown然后</pre> <p><br /> </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;如果<b>KeyPreview</b>属性设置为<b>True</b>,则表单上的控件接收事件之前,表单将接收这些事件。使用<b>KeyPreview</b>属性创建全局键盘处理例程。</blockquote> <p><br /> </p> <p><br /> </p>