0
我在form1中有一個datagridview,而在另一個表單上有一個databox和labelboxes。我想要做的是無論何時在form1中選擇一行,其所有數據都將使用labelboxe顯示在表單2上。含義是,所選行的每一列將被分配到相應的標籤框。如何將數據網格視圖中選定行的數據傳遞給另一個表單的標籤
我在form1中有一個datagridview,而在另一個表單上有一個databox和labelboxes。我想要做的是無論何時在form1中選擇一行,其所有數據都將使用labelboxe顯示在表單2上。含義是,所選行的每一列將被分配到相應的標籤框。如何將數據網格視圖中選定行的數據傳遞給另一個表單的標籤
有幾種方法可以做到這一點。這裏有兩種方法來傳遞數據:
在窗體2,你需要做的是將兩個對象的第二構造函數:
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
public string yourName { get; set; }
public int Age { get; set; }
public Form2(string name, int age)
{
InitializeComponent();
yourName = name;
Age = age;
}
private void Form2_Load(object sender, EventArgs e)
{
label1.Text = yourName;
label2.Text = Age.ToString();
}
}
在Form1,創建窗體2的實例,並通過對象:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2("Jon Smith", 33);
this.Hide();
F2.ShowDialog();
}
}
或者你也可以這樣來做:
在表格2,你需要設置標籤修改屬性爲public,因爲他們將被默認設置爲私人。您可以從設計模式的屬性選項卡執行此操作。
完成後,在Form1您可以創建窗體2的實例,並傳遞值到市民標籤:
Form2 f2 = new Form2();
f2.label1.text = datagridview1.currentRow.cells[0].value.tostring();
f2.ShowDialog();
希望這有助於。