本帖最后由 qubokh 于 2010-02-16 09:59:23 编辑

解决方案 »

  1.   

    1,2,3:测试下不就知道了,不过是要尽力避免这种混乱的命名方式
    4:可。但是在给控件属性改变时它会自动首先加载该窗体的load事件
      

  2.   

    变量名字,窗体,控件,module 等等,名字要规范化。最好加标准的前缀

    窗体 frm。
    类 cls
    string str

    用‘VB编码规范’搜索下。
      

  3.   

    你说的这几条无论会造成什么影响,都是编程中的忌讳。除非你是测试编译器极限和排除编译器bug的人,否则研究这些一点用都没有,还会误入歧途。
      

  4.   


    Private Sub Form_Load()
    '同一窗体
       Dim form1 As Integer '此过程中以下程序中form1并不是窗体form1
       Dim label1 As Integer '此过程中以下程序中label1并不是控件label1
       form1 = 5
       label1 = 6
       Debug.Print form1, label1
       Me.Caption = "1111" '这里要用me,不能再用form1
       Me.label1.Caption = "111" '这里不能再用label1.Caption
    End Sub'非同一窗体
    '非同一窗体的过程或函数中用了别的窗体名或控件名作变量名,则在此过程中
    '无法调用那一窗体或控件属性'如果窗体1未加载,先加载窗体1,然后给它的控件属性赋值(注意此时窗体1并不显示)
      

  5.   


    100% 完全同意X Y X1 Y1 NAME 这些都是VB的API或涵数经常会用到的变量, 甚至于还见过有人 Dim X As String"编程中的忌讳" 如否定这句话没人干涉, 自己看着办,能避免则避免.变量最好的命名是以中文翻译成英文(简写) 一看便知,而且开头以大写字母,中间某个单字也用大写(纯建议)如此一旦打错字也能立马知道, 除错也将轻松不少.
      

  6.   

    参考一下我的启动部分的写法
    Option Explicit
    Public frmMain As CMainFormSub Main()
        
        Set frmMain = New CMainForm
        frmMain.Show
    End Sub
      

  7.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
      

  8.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP