2011-06-21 131 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(); 
     } 

} 

問候