【问题标题】:How can I exchange data between forms [duplicate]如何在表单之间交换数据[重复]
【发布时间】:2011-06-21 23:37:02
【问题描述】:

可能重复:
sharing data between forms

我有:

public partial class LoginForm : Form
{
    private string somedata = "somedata";

    public LoginForm()
    {
        InitializeComponent();
    }    
}

我希望 LoginForm 打开另一个表单并将somedata 发送给它。我该怎么做?

【问题讨论】:

    标签: c# winforms visual-studio-2010


    【解决方案1】:

    您可以执行以下操作。它假定您已经创建了一个名为 SomeForm 的表单并添加了一个接受字符串的构造函数。

        public partial class LoginForm : Form
        {
            private string somedata = "somedata";
    
            public LoginForm()
            {
                InitializeComponent();
    
                OpenForm(somedata);
            }    
        }
    
        private void OpenForm(string Data)
        {
            SomeForm sf = new SomeForm(Data);
            sf.Show();
        }
    

    【讨论】:

      【解决方案2】:

      首先在您要传递登录数据的第二个表单上创建一个公共字符串:

         public partial class Form2 : Form       
       {  
      
       public Form2()              
      {  
      InitializeComponent(); 
      }  
      
          public string messagefromLogin;
          MessageBox.Show(messagefromLogin);
      
          }
      

      然后在您登录时:

       public partial class LoginForm : Form       
       {  
      
       public LoginForm()              
      {  
      InitializeComponent(); 
      }   
      private string somedata = "somedata";
      
      //Show Form2 and pass the string "somedata"
       private void btnShowForm2_Click(object sender, EventArgs e)
              {
                  var frm2 = new Form2{messagefromLogin=somedata}
      frm2.Show();
              }
      
      }
      

      问候

      【讨论】:

        【解决方案3】:

        有很多方法,

        将父表单的引用传递给您的子表单,或者只是将数据传递给构造函数中的子表单或设置属性。

        protected void viewHelp(){
          var loginHelp = new LoginHelpForm();
          loginHelp.ParentForm = this;
          loginHelp.Show(); 
          this.Hide();
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多