我想让每个窗体都居中,但又不想每个窗体都进行编写程序,就想写一个函数在每个窗体中进行调用!例如:
me.left=(screen.width-me.width)/2
me.top=(screen.height-me.height)/2
这样便可以让窗体居中了,我不每个窗体都添加这语句,自己写一个函数来实现改功能应怎样写呢?

解决方案 »

  1.   

    Dim f As FormFor Each f In Forms
        f.Left = (Screen.Width - f.Width) / 2
        f.Top = (Screen.Height - f.Height) / 2
    Next
      

  2.   

    写一个过程,让每个窗体启动时调用这个过程
    public sub initform(frm as form)
         frm.left=(screen.width-frm.width)/2
         rfm.top=(screen.height-frm.height)/2end sub然后每个窗体启动时调用initform me
      

  3.   

    在设计时,设置form的StartUpPosition属性为1或者2
      

  4.   

    先谢各位:但问题还是没有解决 !!(我笨啊!!)TO:subzero(赘姆烂壳)这个方法我明白,我就是不想用这方法!!TO:sunzhiying888(我的最爱-CSDN) 我把过程放到模块里面,在窗体load事件中调用,但提示是“FRM变量未定义”TO:lxcc(虫莲)
      

  5.   

    TO:lxcc(虫莲) 我用Me.StartUpPosition = 2 但提示:函数或接口标记为限制的,visual basic 中不支持的自动类型!
      

  6.   

    直接在设计状态设置窗体的StartUpPosition属性就可以了,不用写什么代码
      

  7.   

    问题解决了: sunzhiying888(我的最爱-CSDN)
    写一个过程,让每个窗体启动时调用这个过程
    public sub initform(s as form)
         s.left=(screen.width-s.width)/2
         s.top=(screen.height-s.height)/2end sub然后每个窗体启动时调用initform me
    把frm改成s就行了!!