不可以这样做的,个人认为VB那样做纯粹是为了方便程序员写程序,真正的OOP编程就是像现在的C#里一样,要编写类,生成类的实例,调用实例的方法属性等.

解决方案 »

  1.   

    你可以直接WINFROM窗体类中实现静态方法。
      

  2.   

    你可以直接调用WINFROM窗体类中实现静态方法。
      

  3.   

    用惯了VB6的窗体类,觉的很不错,一般在写程序时,我觉得很少继承窗体类的,而且在窗体中交换数据太麻烦了,要是能设计为静态的,方便不少,private static ClsFrmLogin FrmLogin=new ClsFrmLogin();
    private ClsFrmLogin()
    {
    } public static ClsFrmLogin Instance()
    {
    //
    // Windows 窗体设计器支持所必需的
    //
    return FrmLogin;
    InitializeComponent();
                
    //
    // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
    //
    }
    由于InitializeComponent()有用了THIS指针,我用类名ClsFrmLogin代替this,但报错了:
    “JanPinSoft.Qry.WinUi.ClsFrmLogin.LblPsd”要求对象引用
    不可以是不允许,不是不建议。
      

  4.   

    可以的。
    http://www.codeproject.com/csharp/apploadingarticle.asp?target=splash
      

  5.   

    我试过把控件设成静态
    是可以的
    把涉及到该控件的this去掉就行了
      

  6.   

    private static void InitializeComponent()
    {LblPsd.AutoSize = true;
    LblPsd.BackColor = System.Drawing.Color.White;
    LblPsd.ForeColor = System.Drawing.Color.Black;
    LblPsd.Location = new System.Drawing.Point(168, 240);
    LblPsd.Name = "LblPsd";
    LblPsd.Size = new System.Drawing.Size(66, 17);
    LblPsd.TabIndex = 1;
    LblPsd.Text = "用户密码:";
    LblPsd.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;}
    “JanPinSoft.Qry.WinUi.ClsFrmLogin.LblPsd”要求对象引用
     
     to yangao(QQ宝典)
    还是不报错,哪写的不对。
    to 大家:
    我现在也不知道行不行,一步一步的试,由于初学,很多知识还不知道,请大家多指点。  
      

  7.   

    我用过控件,把它设置为静态的,其主要目的是为了更好的从别的窗体上操作这个控件,但是有问题,如果你把窗体中的控件从新排列或加一个控件的化要从新将THIS去掉,现在不用这中方法了,主要是不安全也不符合规范,窗体类没用过单应该也可以单不建议你这样写代码