我在製作一個WindowsForms應用程序。我有2種形式:保持多個窗體WindowsForms c上的數據#
- 的第一個表單(
Form1
),有許多領域(Textboxs)應當由用戶填寫,然後點擊一個按鈕(Transfer
)。 - 此按鈕應在新窗體(
Form2
)中顯示Form1
的所有輸入數據。
我不知道如何開始將數據從一種形式移動到另一種形式。有人可以指導我如何去做?
我在製作一個WindowsForms應用程序。我有2種形式:保持多個窗體WindowsForms c上的數據#
Form1
),有許多領域(Textboxs)應當由用戶填寫,然後點擊一個按鈕(Transfer
)。Form2
)中顯示Form1
的所有輸入數據。我不知道如何開始將數據從一種形式移動到另一種形式。有人可以指導我如何去做?
每個文本框都有一個值(Textbox.Text
屬性)。您將不得不將這些不同屬性的內容轉移到第二種形式的新控件中。
最簡單的方法是通過第二種形式的自定義Form構造函數。
public Form2(string textBox1Value, string textBox2Value)
// etc... add as many as you like or use an object that holds all values in properties
{
InitializeComponent(); // Required by WinForms
this.TextBox1.Text = textBox1Value;
this.TextBox2.Text = textBox2Value;
}
確保您使用名稱匹配您想要的文本框。最後,在Transfer
按鈕代碼上創建表單時,請改爲調用此構造函數。
如果Form1
創建Form2
專門顯示數據,那麼您可以使用非默認構造函數在創建窗體時傳遞信息。
首先,讓我們考慮要傳輸的信息的示例,並將其命名爲Form2Info
:
// This class is an example of the information you want to transfer
public class Form2Info
{
public string text1;
public int number1;
}
然後,修改Form2
的構造方法來信息:
public partial class Form2 : Form
{
private Form2Info info;
public Form2(Form2Info information)
{
InitializeComponent();
info = information;
// Do something with this information, such as populate a TextBox or Label on the form.
}
}
最後,您要從Form1
創建一個Form2
實例:
// Create the information you want to pass; we fill it with some placeholder data here.
Form2Info info = new Form2Info();
info.text1 = "Hello"
info.number1 = 5;
// Now create the form and pass the data
Form2 form2 = new Form2(info);
form2.ShowDialog(); // Show modal dialog.
'Form1'是否創建/擁有'Form2',或者兩個表單都是獨立存在的,您是否需要在它們之間進行更新? – MicroVirus
是的,'Form1'創建'Form2',但是第一個數據 –