在窗体上画一个文本框和一个命令按钮,如下图所示。 编写如下程序: Private Sub Form_Load() Show Text1.Text=" " Form1.KeyPreview=False

admin2009-02-13  56

问题 在窗体上画一个文本框和一个命令按钮,如下图所示。

   编写如下程序:
   Private Sub Form_Load()
      Show
      Text1.Text=" "
      Form1.KeyPreview=False
      Text1.SetFocus
   End Sub
   Private Sub Command1_Click()
      KeyPreview=Not KeyPreview
      Print
   End Sub
   Private Sub Form_KeyPress(KeyAscii As Integer)
      Print UCase(Chr(KeyAscii+1));
   End Sub
   Private sub Text1_KeyPress(KeyAscii As Integer)
      Print Chr(KeyAscii+2)
      KeyAscii=0
   End Sub
   阅读以上程序,理解每个事件过程的操作,然后填空。
   ①程序运行后,直接从键盘上输入abc,程序输出的结果是【  】。
   ②程序运行后,单击一次“命令按钮1”,然后从键盘上输入abc,程序输出的结果是【  】。

选项

答案cde , BCD

解析 本题主要用来加深理解窗体的 KeyPreview属性。在默认情况下,控件的键盘事件优先于窗体的键盘事件,因此在发生键盘事件时,总是先触发控件的键盘事件。如果希望窗体先接收键盘事件,则必须将窗体的KcyPreview属性设置为True,否则不能触发窗体的键盘事件。在上面的程序中,“命令按钮1”的事件过程用来对窗体的KeyPreview属性值进行切换,每单击一次该按钮,KeyPreview属性改变一次值,即从 True变为False或从False变为True。当该属性为 True时,首先执行的是窗体的KeyPress事件过程:如果该属性为False,则执行文本框的 KeyPress事件过程。
转载请注明原文地址:https://kaotiyun.com/show/ob1p777K
0

最新回复(0)