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

如果写成这样:PrivateSubCommandButton1_Click()UserForm1.HideCalldrawline(a,b)UserForm1.ShowE... 如果写成这样:
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才可以画成功。“延时”的方法也不行。
展开
 我来答
湘湖泛舟
2008-07-14 · TA获得超过1076个赞
知道大有可为答主
回答量:833
采纳率:0%
帮助的人:901万
展开全部
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
在您的代码里,为什么隐藏窗体再显示??看不懂
尘入蜓孟影食1038
2008-07-14 · TA获得超过3512个赞
知道大有可为答主
回答量:2307
采纳率:87%
帮助的人:1355万
展开全部
你试验一下,先把UserForm1的自动重画设置成真。
也许就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友de85b9a82
2008-07-14 · TA获得超过156个赞
知道答主
回答量:222
采纳率:0%
帮助的人:0
展开全部
是不是你的drawline()函数过程有问题!!

Private Sub CommandButton1_Click()
UserForm1.Hide
UserForm1.Show
Call drawline(a,b)
End Sub
这里的代码应该没问题的!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式