C# winform 父窗口子窗口按钮控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 父窗口子窗口按钮控制相关的知识,希望对你有一定的参考价值。
首先,父窗口有按钮调出不同的子窗口,没子窗口中有“修改”“保存”按钮,当点击“修改”后,父窗口中所有关于打开子窗口的按钮的值全部变为fasle。之后点击“保存”按钮,父窗口的按钮值又全部变为true。求解决办法。需要添加什么事件,和代码?
在父窗体内中添加一全局方法,查找到你要禁用的按钮,设置为不可用;在子窗体的修改按钮中调用这一方法;
话说有必要吗?直接将子窗体打开为模式窗体,只能操作当前子窗体,在子窗体没关闭前不能操作父窗体不简单些吗?追问
因为设定是只要没点击“修改”,就仍然可以操作父窗口。
追答那就是前面说的,定义一个全局的方法,再调用,或者把父窗体中打开子窗体的按钮设为全局的,在子窗体中操作它
追问冒昧的问一下,这个全局方法该怎么写。。。。 没用过 举个例子也可以
追答假设你的父窗口叫frmMain,添加方法:
public static void SettingButton()
foreach(Control control in Controls) //这里你自己改下,在哪个范围内查找
if(control is Button) //如果是按钮,就禁用它
control.Enable=false;
在子窗体按钮事件中调用:
frmMian.SettingButton();
基本就是这样,手打未验证过,细节你自己改下
错误 1 “WindowsApplication6.Form2”并不包含“FindControl”的定义
求解决方法
winform子窗口与父窗口的交互-使用委托与事件
实现子窗口与父窗口的交互,通过父窗口调用并控制子窗口,子窗口也能控制父窗口,使用委托和事件的方法,可以实现。
1.父窗口调用子窗口,并通过子窗口控制父窗口
新建工程,创建两个窗体
显示子窗体的代码:
子窗体定义事件,父窗体订阅事件(通过子窗体修改父窗体)
2.通过子窗体控制父窗体
父窗体定义事件,子窗体订阅事件(通过父窗体修改子窗体)
3.最终结果
4.完整代码
form1.cs
form2.cs
以上是关于C# winform 父窗口子窗口按钮控制的主要内容,如果未能解决你的问题,请参考以下文章
如何在vs 2005 中将mdi父窗口分割成两部分,一边treeview,一边显示子窗口(c# winform)