c#主窗体 调用用户控件事件 委托和事件
有一个主窗体A,动态加载了很多个用户控件B,用户控件B上有很多textbox,把B内容填好,然后点击主窗体上的Button,把多个用户控件B里面的数据更新到数据库目前本人...
有一个主窗体A,动态加载了很多个用户控件B,用户控件B上有很多textbox,把B内容填好,然后点击主窗体上的Button,把多个用户控件B里面的数据更新到数据库
目前本人的想法是:用户控件B里面写个方法更新数据库的,然后动态加载时候绑定这个方法,可能要用到委托和事件,但是不会,求教 展开
目前本人的想法是:用户控件B里面写个方法更新数据库的,然后动态加载时候绑定这个方法,可能要用到委托和事件,但是不会,求教 展开
1个回答
展开全部
为啥用委托?
你在主窗里 声明用户控件B时,直接可以用 用户控件B.方法();调用吧 ?
public partial class UC_Line : UserControl
{
public delegate void uC_Combox_SelectedIndexChanged_EventHandler(object sender, EventArgs e);
public event uC_Combox_SelectedIndexChanged_EventHandler onuC_Combox_SelectedIndexChanged;
private void uC_Combox_SelectedIndexChanged(object sender, EventArgs e)
{
if (onuC_Combox_SelectedIndexChanged != null)
onuC_Combox_SelectedIndexChanged(sender, e);
}
}
主窗
this.uC_Line1.onuC_Combox_SelectedIndexChanged += uC_Line1_onuC_Combox_SelectedIndexChanged;
你在主窗里 声明用户控件B时,直接可以用 用户控件B.方法();调用吧 ?
public partial class UC_Line : UserControl
{
public delegate void uC_Combox_SelectedIndexChanged_EventHandler(object sender, EventArgs e);
public event uC_Combox_SelectedIndexChanged_EventHandler onuC_Combox_SelectedIndexChanged;
private void uC_Combox_SelectedIndexChanged(object sender, EventArgs e)
{
if (onuC_Combox_SelectedIndexChanged != null)
onuC_Combox_SelectedIndexChanged(sender, e);
}
}
主窗
this.uC_Line1.onuC_Combox_SelectedIndexChanged += uC_Line1_onuC_Combox_SelectedIndexChanged;
更多追问追答
追问
首先,用户控件是根据数据库里的数量批量加载进来的,所以无法确定用户控件,其次你写的我还是看不太懂。。。能在具体点吗
追答
UC_Line 用户控件
里面有个combox
当Combox_SelectedIndexChanged 返给主窗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询