2014-02-11 56 views
0

我只是想知道如何在窗體之間傳輸字符串和整數變量。舉例說明我的意思是讓用戶輸入他們的姓名和年齡,這些姓名和年齡將以另一種形式傳輸和顯示,並通過按鈕激活。如何在C#中的表單之間傳遞變量?

+2

有數百個問題問這個。我投票結束這個,因爲它是重複的。 –

回答

1

使用全局靜態類來保存值。只需在另一個位置使用該類的對象。並在任務完成時創建該類的新對象。

+0

這通常被認爲是不好的做法。軟件應始終圍繞最小權限的設計進行設計。因此,只有一個表單需要時才能全局訪問變量,這不是一個好主意。查看使用委託方法的其他鏈接答案之一或任何其他方式直接在表單之間進行通信。 – SeeMoreGain

1
+0

我不知道誰投了這個票,但我認爲這是一個很好的答案,表明這是一個重複的問題。其中之一就是爲海報提供針對其特定代碼的剪切和粘貼答案。 – SeeMoreGain

2

可以通過使用簡單Events and delegate概念實現這一點。從您的Form 1發佈活動,您可以在您的Form 2頁面訂閱。 Delegate將作爲EventEvent handler之間的溝通渠道。

0

您可以使用公共屬性將主窗體中的值傳遞給子窗體。

喜歡的東西

public partial class ParentForm : Form 
{ 
    public ParentForm() 
    { 
     InitializeComponent(); 
    } 
    private void button2_Click(object sender, EventArgs e) 
    { 
     ChildForm c = new ChildForm(); 
     c.StringValue = "TADA"; 
     c.IntValue = 42; 
     c.Show(); 
    } 
} 


public partial class ChildForm : Form 
{ 
    public string StringValue{get; set;} 
    public int IntValue { get; set; } 

    public ChildForm() 
    { 
     InitializeComponent(); 
    } 
}