VB,如何在form.show 时在窗体上画线?

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:56:22
如果写成这样:
Private Sub CommandButton1_Click()
UserForm1.Hide
Call drawline(a,b)
UserForm1.Show
End Sub
在UserForm1.Show前画线是无效的

如果写成这样:
Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm1.Show
Call drawline(a,b)
End Sub
程序执行到UserForm1.Show就不执行了。
我用的是VBA
怎么办?
UserForm_Activate()
我也试过了,比较奇怪,在首句加上msgbox才可以画成功。“延时”的方法也不行。

Private Sub UserForm_Activate()
Call drawline(a,b)
End Sub

要在这个事件中画线才有用,因为SHOW命令运行后,FORM就进入的LOAD事件,然后是RESIZE事件,然后ACTIVATE事件,窗体得到焦点才能在上面画线
Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm1.Show
Call drawline(a,b)
End Sub
在您的代码里,为什么隐藏窗体再显示??看不懂

你试验一下,先把UserForm1的自动重画设置成真。
也许就可以了。

是不是你的drawline()函数过程有问题!!

Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm1.Show
Call drawline(a,b)
End Sub
这里的代码应该没问题的!!