为什么vb的load事件不能显示输出

前端之家收集整理的这篇文章主要介绍了为什么vb的load事件不能显示输出前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

任何图形或输出完成Form_Load 过程中不会显示在表单上除非您首先使窗体可见用 Form1.Show 方法,或者如果您设置窗体的 AutoRedraw 属性设置为真(非零)。

当 Form_Load 过程的执行(在程序的开头),默认情况下不还显示该窗体。因此,在 Form_Load 事件,没有图形显示到不存在的窗体除非第一次 (在运行时) 显示窗体或将窗体的AutoRedraw 属性设置 (在设计时或运行的时)。

绘制到窗体的图形的更好方法是让 SubForm_Paint 过程中绘制到窗体的图形。这使 Form.AutoRedraw 属性设置为 FALSE 时,增加速度性能的程序。Visual Basic没有刷新屏幕图像的窗体,窗体重叠与另一个窗口时那样。您 (作为程序员) 都有用于刷新窗体中,责任和 Sub Form_Paint是最合乎逻辑的地方,要处理这种情况。

以下列出的三个绘制到窗体的图形示例。第一个示例演示如何失败图形显示给表单时取自Form_Load 事件过程中。第二个示例演示如何为窗体上,开始绘制一个圆形,但 Form.AutoRedraw 属性必须设置为TRUE,该圆形需要刷新该窗体的事件中,要保留。第三个示例是最佳的方法 ;它是最快和最有效的三个。


例一
Private Sub Form_Load()
    Const pi = 3.14159              '声明一个静态变量
    Print 100                       '在窗体上输出100
    
    Form1.ForeColor = vbRed         '设置窗体的前景颜色
    Form1.DrawWidth = 1             '设置输出图形的边框的宽度
    Form1.FillStyle = 0             '设置填充方式
    Form1.FillColor = vbBlue        '设置填充颜色
    Form1.ScaleMode = 1             '设置对象坐标的度量单位为缇
    
    Circle (3000,2000),1000        '画圆
End Sub
代码的运行结果如图①



如果将窗体的AutoRedraw(自动重画)属性改为True或者将代码改为

Private Sub Form_Load()
    Const pi = 3.14159              '声明一个静态变量
    Show
    Print 100                       '在窗体上输出100
    
    Form1.ForeColor = vbRed         '设置窗体的前景颜色
    Form1.DrawWidth = 1             '设置输出图形的边框的宽度
    Form1.FillStyle = 0             '设置填充方式
    Form1.FillColor = vbBlue        '设置填充颜色
    Form1.ScaleMode = 1             '设置对象坐标的度量单位为缇
    
    Circle (3000,1000        '画圆
End Sub
效果图为②


例二

Private Sub Form_Click()
    Const pi = 3.14159              '声明一个静态变量

    Print 100                       '在窗体上输出100
    
    Form1.ForeColor = vbRed         '设置窗体的前景颜色
    Form1.DrawWidth = 1             '设置输出图形的边框的宽度
    Form1.FillStyle = 0             '设置填充方式
    Form1.FillColor = vbBlue        '设置填充颜色
    Form1.ScaleMode = 1             '设置对象坐标的度量单位为缇
    
    Circle (3000,1000        '画圆
End Sub
单击窗体,结果如上图②

例三

Private Sub Form_Paint()
    Const pi = 3.14159              '声明一个静态变量

    Print 100                       '在窗体上输出100
    
    Form1.ForeColor = vbRed         '设置窗体的前景颜色
    Form1.DrawWidth = 1             '设置输出图形的边框的宽度
    Form1.FillStyle = 0             '设置填充方式
    Form1.FillColor = vbBlue        '设置填充颜色
    Form1.ScaleMode = 1             '设置对象坐标的度量单位为缇
    
    Circle (3000,1000        '画圆
End Sub
运行结果如上图② 原文链接:https://www.f2er.com/vb/258305.html

猜你在找的VB相关文章