c#子窗体与父窗体相互控制
来源:互联网 发布:薄洗来 知乎 编辑:程序博客网 时间:2024/05/24 06:30
YY:对比一下系统自动添加的内容 this.openToolStripButton.Click += new System.EventHandler(this.OpenFile);
System.EventHandler() 通用型 ,如EventArgs
c#子窗体与父窗体相互控制
引自:https://www.cnblogs.com/giserpan/p/6906624.html
在word软件中,常常会使用查找功能,当点击查找时查找界面不会消失,但是会在文档中查找到需要的内容。在设置字体大小或者是颜色的时候会有个应用按钮或者是预览按钮,这个时候会对文档的内容进行修改但是不会关闭窗口,这两种情形就是子窗体控制父窗体的两种形式,怎样去解决这种问题呢,这里采用的是事件的相互订阅。
1、新建工程,创建两个窗体,form1和form2
2.显示子窗体的代码如下:
1
2
3
4
5
private
void
button1_Click(
object
sender, EventArgs e)
{
Form2 frm =
new
Form2(
this
);
//传递窗体1指针
frm.Show(
this
);
//窗体不会置于父窗体的外边
}
窗体2构造函数添加参数
1
2
3
4
public
Form2(Form1 frm)
//传递窗体1,为绑定窗体1的事件做准备
{
InitializeComponent();
}
3.父窗体定义事件,子窗体订阅事件
1
父窗体定义事件,修改子窗体
1
2
<br>
public
delegate
void
changetxt(
string
text);
public
event
changetxt changetxt_event;
子窗体订阅
1
2
3
4
5
6
7
8
9
10
public
Form2(Form1 frm)
{
InitializeComponent();
frm.changetxt_event +=
new
Form1.changetxt(frm_changetxt_event);
}
void
frm_changetxt_event(
string
text)
{
textBox1.Text = text;
}
4.子窗体定义事件,父窗体订阅事件
子窗体定义事件
1
2
public
delegate
void
changetext(
string
text);
public
event
changetext changetext_event;
父窗体订阅事件
1
2
3
4
5
6
7
8
9
10
11
private
void
button1_Click(
object
sender, EventArgs e)
{
Form2 frm =
new
Form2(
this
);
frm.changetext_event +=
new
Form2.changetext(frm_changetext_event);
frm.Show(
this
);
}
void
frm_changetext_event(
string
text)
{
textBox1.Text = text;
}
5.相互触发事件实现窗体通信
1
2
3
4
private
void
button1_Click(
object
sender, EventArgs e)
{
changetext_event(textBox1.Text);
}
6.最终效果
7.代码截图
YY:对比一下系统自动添加的内容 this.openToolStripButton.Click += new System.EventHandler(this.OpenFile);
System.EventHandler() 通用型 ,如EventArgs
form1.cs
form2.cs
阅读全文
0 0
- c#子窗体与父窗体相互控制
- 父窗体与子窗体相互调用
- 主窗体与子窗体相互控制背景图片的事儿
- 父窗体与子窗体之间的相互操作
- C# 实现子窗体控制父窗体的方法
- c#委托使用 子窗体、父窗体、同级窗体 相互调用函数
- C# 子窗体与父窗体之间几种传值的方式
- MDI父窗体控制子窗体
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C#子窗体刷新父窗体
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C# WinForm 父窗体 子窗体 传值
- C++面向对象程序设计课后答案6.1
- Centos之文件搜索命令locate
- 例行性工作任务(crontab)
- Qt 控件 拖拽
- Mybatis高级映射一对多查询
- c#子窗体与父窗体相互控制
- 2017年第23届全国青少年信息学奥林匹克竞赛分区联赛提高组初赛题解报告
- 有n个软件未被升级
- WSGI / uwsgi / uWSGI
- 欢迎使用CSDN-markdown编辑器
- poj 3723
- luogu P1294 高手去散步
- 专访智齿科技徐懿丨企服公司四要素:智能、融合、产品复杂度、客单价
- MarkDown Cheatsheet