最近在做一个小项目,中间遇到了一个问题,由于多个窗体中要用到单位选择,于是自己做了一个下拉选择树的用户组件,
想通过用户选择完单位后,传到另外一个用户控件中去,
在这个控件中通过在下拉选择树中用户选择的节点编号,到数据库中进行查询,
最终问题解决了,在这里面把思路和大家分享一下:
(1)首先在下拉选择树控件中添加一个委托事件,
public event Action<string> AfterSelectEvent;
(2)当用户选择完节点后,触发事件
private void DropDown_FinishEditing(object sender, DropDownValueChangedEventArgs e)
{
/,,,,,,
AfterSelectEvent(dn.SelectedNode.Text);
// LogEvent(().Name + ".FinishEditing", e.Value);
}
(3)在窗体加载时间中注册AfterSelectEvent事件
private void frm_jbxx_Load(object sender, EventArgs e)
{
// dwxz1是用户控件的名字
dwxz1.AfterSelectEvent += new Action<string>(dwxz1_AfterSelectEvent);
}
void dwxz1_AfterSelectEvent(string obj)
{
pycx1._xjd = obj.Split('-')[1];/pycx1是另外一个用户控件的名字,_xjd是其属性
}
(4)到此,基本上实现了两个用户控件间的传值操作