2011-06-21 99 views
1
之间的数据

可能重复:
sharing data between forms我怎么能交换的形式

我:

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

    public LoginForm() 
    { 
     InitializeComponent(); 
    }  
} 

我想LoginForm的打开另一个表格并发送somedata它。我怎样才能做到这一点?

回答

4

你可以做类似如下。它假定您已经创建了一种叫做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

的方法有很多,

通过你的父窗体的引用您的孩子或只是将数据传递到构造函数或设置属性的子窗体。

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

首先你的第二个窗体上创建一个公共字符串要从登录传递数据:

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(); 
     } 

} 

问候