表单:在frm_user_cd
的网格视图中选择员工姓名和部门名称的部分,以将值移动到表单frm_gjmjs0
的组合框中。
运行以下代码将导致诸如System.NullReferenceException
之类的问题。
我希望我可以将frm_user_cd
的网格视图的值直接提供给frm_gjmjs0
的组合框。但是我不知道如何将值导入frm_user_cd
的文本框中并将其传递回frm_gjmjs0
的组合框并创建字符串类型的全局变量
user = dgv_user.Rows[e.RowIndex].Cells[1].Value.ToString();
将变量声明并传递给frm_gjs0.Cbx_user_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);
}
}
答案 0 :(得分:0)
尝试定义属性以访问cbx_user_cd
中的frm_gjmjs0
。
public ComboBox CBXUser
{
get { return cbx_user_cd; }
set { value = cbx_user_cd; }
}
然后通过Application.OpenForms Property
获取打开的frm_gjmjs0
实例。
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";
}
您可以用相同的方式设置cbx_dept_cd
。