怎么给分啊?我试过用activate是可以的。那我说得对不对呢?是不是在Form_Load的时候,PictureBox还没有加载呢?

解决方案 »

  1.   


      你说的“在Form_Load里面我直接调用了PictureBox”是什么意思?你是怎么调用的?  你可以试一下:Private Sub Form_Load()
        
        With Picture1
            .Left = 100
            .Height = 200
            .Top = 300
            .Width = 400
            .AutoRedraw = True
        End With
            
    End Sub   这样是可以的。也就是说, 在Form_Load的时候,PictureBox已经加载 。
      

  2.   

    Private Sub Form_Load()
        Me.Show
        '调用了PictureBox
    End Sub
      

  3.   

    Private Sub Form_Load() '可以啊
        Picture1.AutoRedraw = True
        Picture1.Print "可以啊"
    End Sub
      

  4.   

    我的程序其实是这样的:
    Private Sub Form_Load()
    LaserLine Picture1, Picture1.ScaleWidth, Picture1.ScaleHeight, Me.BackColor
    Unload Me
    End Sub
    其中,LaserLine是我自定义的一个函数,里面用到Me.Line,也就是Form1.Line。
    这样是不行的,会死机。只好加一个Timer(),把LaserLine函数放到里面,才行。我也不知道为什么。
      

  5.   

    If 你不知道怎样给分 Then 去看:http://www.csdn.net/expert/faq.shtm
      

  6.   

    先用 ME.SHOW 显示本窗体然后才能用里面的控件
      

  7.   

    Load事件事件结束之前,Form还未装载完,当然不能使用Line这样的方法。
    这应该不一定会引起死机,但是我可以肯定你的Line是画不上去的。
        之所以在Active事件里,或用Timer控制可以画出来,是因为这时Form已经加
    载。但这都不是正途,每次窗体激活或时间事件到来就重画是不合逻辑的。
        画东西当然应该应该在Paint事件里做,这在Windows程序设计里是众所周知的。还有尽量不要用AutoRedraw这个东西,VB会将窗体里的所有东西存于内存图片。不仅占内存,重画时也比较慢。除非你画了一次图后就不准备再更改,否则不
    要用AutoRedraw。
      

  8.   

    真不懂,CSDN改版后为什么贴出来的东西会和原来写的不一样。
        有几个要换行的地方没换行,还有为什么重复一些词?不懂。