我在窗体A中,用如下语句定义了四个变量
      public String Server, DateName, User, Pass;
现在我要在窗体B中,使用这四个变量,在B窗体中该如何写昵?

解决方案 »

  1.   

    form1 a = new form1();
    string server = a.Server;
      

  2.   

    你new出一个就可以不过一般不建议怎么写
      

  3.   

    private void frmPass_Shown(object sender, EventArgs e)
            {
                Form a = new frmMain();
                string server = a.Server;
            }提示错误 1 “System.Windows.Forms.Form”并不包含“Server”的定义 F:\新建文件夹\ycgl\frmPass.cs 26 31 ycgl不知道为什么不行呀,在delphi 中加一个 user frmmain 就可以使用了,这个里面该如何用呀
      

  4.   

    用new可以,但是关键是要看你的变量使用的范围,你每次实例化都可以,但是他们彼此间没什么联系,如果你定义为static,就可以都控制这些变量
      

  5.   

    楼上的好像不对阿B窗体写如下码
    Form1 a=null;
    public void SetA(Form1 f)
    {
         a=f;
    }
    然后再在A窗体中调用B窗体的地方写插入如下程序
    Form2 b=new Form2()
    b.SetA(this);
    b.ShowDialog();
      

  6.   

    多谢
    我这样写就可以了
       string server = frmMain.Server;
      

  7.   

    echi0711(潇洒程序员) ( ) 信誉:100  2006-08-10 10:33:00  得分: 0  
     
     
       用new可以,但是关键是要看你的变量使用的范围,你每次实例化都可以,但是他们彼此间没什么联系,如果你定义为static,就可以都控制这些变量
      
    -----------------------------------------------------------------------------------
    支持这个
      

  8.   

    public class FormA : System.Windows.Forms.Form
    {
      ...
      private string server, dateName, user, pass;
      public string Server
      {
        get { return this.server; }
       }   public string DateName
       {
        get { return this.dateName; }
        }    public string User
        {
          get { return this.user; }
         }    public string Pass
        {
          get { return this.pass; }
         }    ...
    }
       public class FormB : System.Windows.Forms.Form
    {
       ...
       FormA forma = new FormA();
       string server = forma.Server;
       string dateName = forma.DataName;
       string user = forma.User;
       string pass = forma.Pass;
       ...
    }
      

  9.   

    我在A窗体的 frmMain.Designer.cx 文件中,
    用如下定义语句
     public static String Server, DateName, User, Pass;
     public static  OleDbConnection Adoconn = new OleDbConnection();  然后在B窗体中,
    用如下语句
    frmamin.Server 或 frmmain.Adoconn
    都可以访问如果不加 static 关键家,就没办法使用