最近在做一個小項目,中間遇到了一個問題,由於多個窗體中要用到單位選擇,於是自己做了一個下拉選擇樹的用戶組件,
想通過用戶選擇完單位後,傳到另外一個用戶控件中去,
在這個控件中通過在下拉選擇樹中用戶選擇的節點編號,到數據庫中進行查詢,
最終問題解決了,在這裏面把思路和大家分享一下:
(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)到此,基本上實現了兩個用戶控件間的傳值操作