Visual Basic 6.0中Form_Load事件内Print语句无法正常工作求助
VB6 Form_Load中Print语句无效的解决方案
这不是程序问题,是VB6窗体事件执行机制导致的:Form_Load事件触发时,窗体还未完成绘制和显示,此时调用Print方法输出到窗体客户区,内容无法被渲染显示;而CommandButton点击事件触发时,窗体已经完全加载并显示,所以Print能正常生效。
解决方法有以下几种:
- 在Form_Load中先调用
Me.Show显示窗体,再执行Print语句:
Private Sub Form_Load() Me.Show Print "测试文本" End Sub
- 将Print代码移至Form_Activate事件,该事件在窗体激活并显示后触发:
Private Sub Form_Activate() Print "测试文本" End Sub
- 若不想提前显示窗体,可在Print后调用
Me.Refresh强制刷新窗体(不过Show方式更稳定):
Private Sub Form_Load() Print "测试文本" Me.Refresh End Sub
这个现象和Windows 11系统无关,VB6在早期Windows系统中也存在同样的事件顺序逻辑。
内容的提问来源于stack exchange,提问作者Aseel Smith
相关产品推荐
相关产品推荐

