以下代码直接在form1.load里执行正常,为了提高代码的利用率,就把它放到标准模块里了。但放到标准模块后visible设置无效,是什么原因,拜托各位解释一下。
模块代码:
Public Sub CreateFormPic(objMDIForm As MDIForm,strPicName as string)
    objMDIForm.Controls.Add "VB.PictureBox", "CustomPic1"
    objMDIForm.Controls.Add "VB.PictureBox", "CustomPic2"
    With objMDIForm!CustomPic1
    .Visible = True
    .Width = 50
    .loadpicutrestrPicName)
    end with
end sub
Private Sub MDIForm_Load()
Call CreateFormPic(Me,"1.bmp")
End Sub

解决方案 »

  1.   

    添加的是picturebox控件,也是想让它可视;而不非窗体。没有人试过吗?
      

  2.   

    单步调试,看看实际上有没有add成功。。
      

  3.   

    不是放在模块的问题,放在MDI窗体里也一样显示不出来,可能和MDI窗体没有autoRedraw属性有关
      

  4.   

    debug一下看看left top 的值
      

  5.   

    Public Sub CreateFormPic(objMDIForm As MDIForm, strPicName As String)
        objMDIForm.Controls.Add "VB.PictureBox", "CustomPic1"
        objMDIForm.Controls.Add "VB.PictureBox", "CustomPic2"
        With objMDIForm!CustomPic1
        .Visible = True
        '.Width = 5000
        .AutoSize = True
        .Picture = LoadPicture(strPicName)
        .ZOrder '加上这一句
        End With
    End Sub
      

  6.   

    yachong:
      谢谢。您提供的方法可行。