我有一个名为SelectCatagoryId
的表单,其中包含DataGridView
。我想将选定的cellvalue
从此处传递给另一个名为Add_product
的表单。
这是SelectcatagoryId
中按钮事件内的代码。
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
String dgv;
dgv = dataGridView1.CurrentCell.Value.ToString();
Add_product ap = new Add_product(dgv);
this.Close();
}
这是Add_product
表单
namespace Supermarket
{
public partial class Add_product : Form
{
public Add_product()
{
InitializeComponent();
}
SqlConnection con;
string file;
public Add_product(String datagridvalue)
{
// MessageBox.Show(datagridvalue);
textBox10.Text = Convert.ToString(datagridvalue);
}
MessageBox
工作正常,selectCatagoryId
格式的dgv值正确传递给Add_product
,但我无法将变量datagridvalue
的值分配给{ {1}}。
答案 0 :(得分:1)
即使您正在创建overload of constructor
,也需要InitializeComponent()
,以便创建所有控件实例。
public Add_product(String datagridvalue)
{
InitializeComponent();
// MessageBox.Show(datagridvalue);
textBox10.Text = Convert.ToString(datagridvalue);
}
默认情况下,所有UI Component
都在表单的构造函数中启动。
并且Visual Studio
会在InitializeComponent()
方法中生成所有初始化。
答案 1 :(得分:1)
在将文本分配给textBox之前,您需要显示表单Add_product。
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
String dgv;
dgv = dataGridView1.CurrentCell.Value.ToString();
Add_product ap = new Add_product();
ap.Show();
ap.SetProduct(dgv);
this.Close();
}
...
还要将此方法添加到Add_product类
public SetProduct(String datagridvalue)
{
// MessageBox.Show(datagridvalue);
textBox10.Text = datagridvalue;
}