2016-07-28 71 views
-13

我如何將name值從Form1傳遞給Form2?Winforms C#形式間傳遞變量

Form1中

public partial class Form1 : Form 
{ 
    public string name = "xxx"; 
} 

窗體2

public partial class Form2 : Form 
{ 
    private void Form2_Load(object sender, EventArgs e) 
    { 
     lblname.Text = name; 
    } 
} 

解決方案:

Form1中

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     string name = "xxx"; 
     Form2 frm2 = new Form2(name); 
     frm2.Show(); 
    } 
} 

窗體2

public partial class Form2 : Form 
{ 
    public Form2(string name) 
    { 
     InitializeComponent(); 
     label1.Text = name; 
    } 
} 
+11

要求千次,谷歌你的標題,你應該已經完成​​,然後再問你這個問題。 –

+0

我應該提到我搜索了100次嗎? –

+3

然後你需要努力處理你的谷歌搜索技巧。我覺得每隔一天我都會看到這個問題(並且是關閉的)。 –

回答

-1

一個簡單的,但不建議的解決辦法是讓現場靜:

public partial class Form1 : Form 
{ 
    public static string name = "xxx"; 
} 

那麼你可以簡單從另一種形式讀取它:

public partial class Form2 : Form 
{ 
    lblName.Text = Form1.name; 
} 
+1

使用靜態變量是災難的祕訣。我一直在用這種方式編寫的表單應用程序,除非你想花你的職業追逐不可能發現的錯誤,靜態變量應該保留給全局的,大多數不可變的數據。 – DVK

+0

@DVK我完全同意你的看法。事實上,我確實闡明瞭這並不是建議的。 –