c#将值转发到其他形式问题

c#将值转发到其他形式问题,c#,winforms,gridview,combobox,C#,Winforms,Gridview,Combobox,表单:在frm_user_cd的网格视图中选择员工姓名和部门名称的部分,将值移动到表单的组合框:frm_gjmjs0。 运行下面的代码将导致出现诸如System.NullReferenceException之类的问题 我希望我能将frm\u user\u cd的网格视图的值直接提供给frm\u gjmjs0的组合框。但我不知道如何将该值导入frm_user_cd的文本框,并将其传递回frm_gjmjs0的组合框,并创建一个字符串类型的全局变量 user = dgv_user.Rows[e.Row

表单:在
frm_user_cd
的网格视图中选择员工姓名和部门名称的部分,将值移动到表单的组合框:
frm_gjmjs0
。 运行下面的代码将导致出现诸如
System.NullReferenceException
之类的问题

我希望我能将
frm\u user\u cd
的网格视图的值直接提供给
frm\u gjmjs0
的组合框。但我不知道如何将该值导入
frm_user_cd
的文本框,并将其传递回
frm_gjmjs0
的组合框,并创建一个字符串类型的全局变量

user = dgv_user.Rows[e.RowIndex].Cells[1].Value.ToString();
当变量声明并传递给
frm\u gjs0.Cbx\u user\u cd
时,也会发生相同的错误

private void dgv_user_CellClick(object sender, DataGridViewCellEventArgs e)
{
    tbx_emp.Text = dgv_user.Rows[e.RowIndex].Cells[1].Value.ToString();
    tbx_dept.Text = dgv_user.Rows[e.RowIndex].Cells[3].Value.ToString();
}

private void btn_user_Click(object sender, EventArgs e)
{
    try
    {
        frm_gjmjs0.cbx_user_cd.Text = tbx_emp.Text;
        frm_gjmjs0.cbx_dept_cd.Text = tbx_dept.Text;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

尝试在
frm\u gjmjs0
中定义一个属性来访问
cbx\u user\u cd

public ComboBox CBXUser
{
    get { return cbx_user_cd; }
    set { value = cbx_user_cd; }
}
然后通过获取打开的
frm_gjmjs0
实例


您可以用同样的方法设置cbx\U dept\U cd。

如果这是指Windows窗体,请添加“winforms”tag@KlausG吕特·斯里。。加上:)@MathewHD-uhmm…我不明白你的答案。
private void buttoninfrm_user_cd_Click(object sender, EventArgs e)
{
    // get frm_gjmjs0 instance
    frm_gjmjs0 form = (frm_gjmjs0)Application.OpenForms["frm_gjmjs0"];
    // modify cbx_user_cd text
    form.CBXUser.Text = "123";
}