VB中一个窗体的show事件

qq_39455360 2017-07-09 11:53:02
下面这段代码中
1)为什么要使用show语句?
2)chr(9) 是什么意思?

option base 1
dim a(3,3) as integer
private sub command1_click()
dim s as integer
s=0
for i = 1 to 3
s= s + a ( i , i )
next
picture1.print "对角线之和是:";s
end sub

private sub form_load()
show
randomize
for i = 1 to 3
for j = 1 to 3
a (i,j)= int (Rnd*99+1)
picture1.print a(i,j) ;chr(9);
next i
picture 1.print
next i
end sub

...全文
1147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-07-10
  • 打赏
  • 举报
回复
Show 方法 用以显示 MDIForm 或 Form 对象。不支持命名参数。 语法 object.Show style, ownerform Show 方法的语法包含下列部分: 部分 描述 object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则与活动窗体模块关联的窗体缺省为 object。 Style 可选的。一个整数,它用以决定窗体是模式还是无模式 。如果 style 为 0,则窗体是无模式的;如果 style 为 1,则窗体是模式的。 ownerform 可选的。字符串表达式,指出部件所属的窗体被显示。对于标准的Visual Basic 窗体,使用关键字 Me。 说明 如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。 当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。 当 Show 在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。MDIForm 不能是形式的。 在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。 应用程序的启动窗体在其 Load 事件调用后会自动出现。 下面的例子说明如何使用ownerform 参数: Private Sub cmdShowResults_Click() ' 显示模式窗体 frmResults. frmResults.Show vbModal, Me End Sub
leon51 2017-07-09
  • 打赏
  • 举报
回复
引用
1)为什么要使用show语句? 2)chr(9) 是什么意思?
电脑上没有安装VB,因此无法测试。Show的意思是显示窗体,load事件中默认就是显示的窗体,如果此窗体没有在其它地方隐藏的话应该是可以去掉的此句, chr(9)相当于按下键盘 tab键,它的ASCII是9
舉杯邀明月 2017-07-09
  • 打赏
  • 举报
回复
引用 1 楼 leon51 的回复:
引用
1)为什么要使用show语句? 2)chr(9) 是什么意思?
电脑上没有安装VB,因此无法测试。Show的意思是显示窗体,load事件中默认就是显示的窗体,如果此窗体没有在其它地方隐藏的话应该是可以去掉的此句, chr(9)相当于按下键盘 tab键,它的ASCII是9
load 只是“加载”,并不意味着要显示。 但是如果要“show”,则一定会先有load。 只不过这个“load动作”会被“隐含操作”:   如果在show的时候,窗体没有load,那么它会被“自动load”;已经load则直接就可以show了。   (其实也不算自动,只是在show的接口过程内检测到没有load、它就帮你load而已) 这段话“听起来”有点绕口,其实也不难理解。 可以用一段简单的代码证实一下: 新建一个“标准EXE工程”,Form1窗体中画两个按钮。 再增加一个窗体Form2。
' Form1中的两个命令按钮,分别写如下事件代码:
Private Sub Command1_Click()
   Load Form2
End Sub

Private Sub Command2_Click()
   Form2.Show
End Sub

' - - - - - - - - - - - - - - - - - - - -
' Form2中只有如下事件代码:
Private Sub Form_Load()
   MsgBox "加载Form2", 64&
End Sub
运行程序,然后进行下列操作: 1. 点Command1,出现消息框。   点确定关闭消息框,再继续点Command1,却不会“有反应”:      因为Form2刚才已经加载了,后面再点时,已经不会再触发Form2的Load事件了。      但Form2仅仅是“加载”,并不会显示出来! 2. 这时点Command2,Form2窗口立即显示出来了。但此时在显示窗体之前也不会出现消息框。 3. 点Form2窗口右上角的“×”关闭窗口; 再点Command2,可以看到:   先出现消息框:因为刚才关闭Form2时,Form2会被UnLoad,现在要执行Show,所以必须重新Load它。   点消息框中的“确定”后,Form2就可立即显示出来。 4. 把活动窗体切到Form1,此时再去点Form1中的Commnad1,不会有反应,因为Form2是已经加载了的;    此时点Command2,“活动窗体”会变成Form2,因为Show之后会激活对应窗体。
threenewbee 2017-07-09
  • 打赏
  • 举报
回复
show调用先显示窗体,否则print以后再show,你将看不到窗体输出的字,你试试就知道。 chr(n)就是输出ascii代码n的字符,ascii表你可以自己去查,9代表一个制表符,它相当一段空白,使得下一个输出像表格一样和上面对齐。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧