c# 将值转发到其他形式的问题
Posted
技术标签:
【中文标题】c# 将值转发到其他形式的问题【英文标题】:c# Forward Values to Other Forms Question 【发布时间】:2021-02-17 21:14:44 【问题描述】:表格: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);
【问题讨论】:
如果指的是Windows Forms,请添加“winforms”标签 @KlausGütter Srry.. 添加它:) @MathewHD 嗯...我没听懂你的回答。 【参考方案1】:尝试定义一个属性来访问frm_gjmjs0
中的cbx_user_cd
。
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
。
【讨论】:
以上是关于c# 将值转发到其他形式的问题的主要内容,如果未能解决你的问题,请参考以下文章
将值从 c# 传递到 actionscript 3 和跨域问题