C# Winform自定义控件更改属性时如何通知父级窗口

如题C#Winform自定义控件更改属性或者产生事件时如何通知父级窗口谢谢大家的发言dkxpsg最先拿出方法.但dkxpsg的思路并不适合我.顾名"自定义控件"就是要大量... 如题
C# Winform自定义控件更改属性或者产生事件时如何通知父级窗口
谢谢大家的发言
dkxpsg 最先拿出方法.
但dkxpsg 的思路并不适合我.
顾名 "自定义控件" 就是要大量用在父级窗口中.指定父级窗口肯定不行.
我说说我的思路:
在所有的父级窗口做一个隐藏控件并制定更改属性时的事件方法.在自定义控件中查找父级窗口的那个控件.然后改变隐藏控件的属性,自然就达到了我想要通知父级窗口的目的.方法虽然笨,但我希望对大家有一定帮助.最后谢谢大家咯!^^
展开
 我来答
dkxpsg
推荐于2016-03-11 · TA获得超过1628个赞
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:1048万
展开全部
在自定义控件的产生事件时可以调用一个父容器里的方法,如下
//窗体(Form1)里地方法
public void Response(string msg)
{
MessageBox.Show(msg);
}
//自定义控件里的鼠标双击事件,UserControl1是直接放在窗体里的所以UserControl1的Parent是Form1
private void UserControl1_DoubleClick(object sender, EventArgs e)
{
((Form1)this.Parent).Response(this.Name);
}
amwih001
2009-07-26 · TA获得超过2.3万个赞
知道大有可为答主
回答量:1529
采纳率:100%
帮助的人:678万
展开全部
我给做了个事件的。
在父窗体中添加个方法
public void show(string Message)
{
MessageBox.Show("子窗体已经发出信息"+Message);
}
//show子窗体事件代码
private void 打开子窗体ToolStripMenuItem_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.f2 = this;
f3.Show();
}
//子窗体代码
public Form2 f2 = null;
按钮事件代码
private void button1_Click(object sender, EventArgs e)
{
f2.show("通知父窗体");

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘘别告诉别人12138
2009-07-26 · 贡献了超过151个回答
知道答主
回答量:151
采纳率:0%
帮助的人:26.8万
展开全部
//窗体(Form1)里地方法
public void Response(string msg)
{
MessageBox.Show(msg);
}
//自定义控件里的鼠标双击事件,UserControl1是直接放在窗体里的所以UserControl1的Parent是Form1
private void UserControl1_DoubleClick(object sender, EventArgs e)
{
((Form1)this.Parent).Response(this.Name);
} /nnn
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柴关贵深0m
2009-07-25 · TA获得超过1142个赞
知道小有建树答主
回答量:1270
采纳率:0%
帮助的人:0
展开全部
直接在更改属性事件里写代码通知父窗体。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式