为什么 Private Sub Form_Load()下print不出来

为什么PrivateSubForm_Load()下print不出来要把autoredraw设为true为什么用debugprint就就行了?O(∩_∩)O谢谢... 为什么 Private Sub Form_Load()下print不出来要把autoredraw设为true
为什么用debug print就就行了?
O(∩_∩)O谢谢
展开
 我来答
csbqf
2013-03-19 · TA获得超过724个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:329万
展开全部
  • 答案其实并不复杂,只是牵扯到内部机制的问题。

  • 用Line、包括Print等语句绘制到界面上的内容,并不是真正的文字,而是文字的图像,可以理解为像素,存在了内存某一个区域的。

  • 而绘制到屏幕上时,每次只是更新了新添加到这个区域的内容。

  • 当有窗体遮挡住已绘制的内容时,如果不设置AutoRedraw为True,被遮挡的部分再次显现出时,并不会从内存取出这部分内容重绘。(即使再次使用Print语句,也是绘制新的语句所更新的内容)

  • 最后,在Form_Load时,窗体本身是尚未显示的,也就是说是全部被遮挡的,而显示后,不会自动重绘已有的图像。

  • 你可以尝试这样,就清楚了:


Private Sub Form_Load() 

 Show 

 Print "abc" 

End Sub 


  • 最后,Debug.Print,是将文字传到了VB里的“即时”那个窗口的文本框里,和绘制机制没有关系,因此,是一直可以的。

来自:求助得到的回答
crazy0qwer
2012-11-27 · TA获得超过3301个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1327万
展开全部
要放在load 里面应该这样
show
printautoredraw是把图像保存到内存中所以要占用内存资源,没有必要的话还是像上面那样就可以了。这样的话当你最小化或者窗体被挡住时候图像就不见了。大概就这个区别吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iisheng
2012-11-27 · TA获得超过308个赞
知道小有建树答主
回答量:531
采纳率:100%
帮助的人:481万
展开全部
窗体加载事件顺序
Private Sub Form_Initialize()
MsgBox 1
End Sub

Private Sub Form_Resize()
MsgBox 1
End Sub
Private Sub Form_Load()
MsgBox 3
Me.Show
Print "HEHE"
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式