winForm中获取UserControl的父容器的方法

我在WinForm(上面有个按钮)中加载用户自定义控件(上面有个ComboBox)之后,我希望能根据ComboBox的SelectedIndexChange中改变窗体上按... 我在WinForm(上面有个按钮)中加载用户自定义控件(上面有个ComboBox)之后,我希望能根据ComboBox的SelectedIndexChange中改变窗体上按钮的Enable属性,但是我不知道怎样获取到加载了用户控件的WinForm.希望哪位大哥大姐不吝赐教!!!
WinForm上包含Button和UserControl
UserControl里面装载了ComboBox
展开
 我来答
149032105
2008-03-07 · TA获得超过756个赞
知道小有建树答主
回答量:1029
采纳率:0%
帮助的人:666万
展开全部
Form1上面加了ComboBox?然后在Form1上的button1的话直接用this.button1,Enable = false;

UserControl1中
//设为公有,然后在Form1中就可以访问这个ComboBox了
public System.Windows.Forms.ComboBox comboBox1;

Form1中订阅这三个事件都可以实现你想要的---
private void userControl11_Load(object sender, EventArgs e)
{
this.userControl11.comboBox1.SelectedValueChanged += new EventHandler(comboBox1_SelectedValueChanged);
this.userControl11.comboBox1.TextChanged += new EventHandler(comboBox1_TextChanged);
this.userControl11.comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}

void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
void comboBox1_TextChanged(object sender, EventArgs e)
{
}
void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
}
非典型天秤座
推荐于2016-10-06 · TA获得超过1395个赞
知道大有可为答主
回答量:850
采纳率:0%
帮助的人:1352万
展开全部
用构造函数的方式把父容器的控件引用传递进来就可以了.
比如ComboBox com=new ComboBox(new Form1());
在UserControl中用FindControl方法扫描传递进来的Form中是否有你指定的那个ID的控件,有的话(Button)FindControl("btn")就是你那个按钮对象了,假设btn是你Form上按钮的ID.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式