子窗体如何更改父窗体控件属性
子窗体怎么更改父窗体控件属性?
目前我有一个MDI窗体MDIBOX,上面有一个弹出登录窗体的按钮MDILogin,一个子窗体Login作为登录窗体
我想实现点击MDILogin后,MDILogin自己隐藏,并弹出窗体Login,如果子窗体点“X”退出时,主窗体的MDILogin按钮又会可见。
我不知道为什么实现不了?
MDILogin的代码如下:
子窗体中代码如下
------解决方案--------------------
http://bbs.****.net/topics/360140208
------解决方案--------------------
http://bbs.****.net/topics/390599630
把这个帖子回复改下就行了
目前我有一个MDI窗体MDIBOX,上面有一个弹出登录窗体的按钮MDILogin,一个子窗体Login作为登录窗体
我想实现点击MDILogin后,MDILogin自己隐藏,并弹出窗体Login,如果子窗体点“X”退出时,主窗体的MDILogin按钮又会可见。
我不知道为什么实现不了?
MDILogin的代码如下:
private void MDILogin_Click(object sender, EventArgs e)
{
if (Login == null || Login.IsDisposed)
{
MDILogin.Visible = false;
Login = new Login();
Login.Owner = this;
Login.ShowDialog();
}
else
{
Login.Owner = this;
Login.ShowDialog();
}
子窗体中代码如下
private void Login_FormClosing(object sender, FormClosingEventArgs e)
{
Button MLogin = ((MDIBOX)this.Owner).Controls["MDILogin"] as Button;
MLogin.Visible = true;
}
------解决方案--------------------
http://bbs.****.net/topics/360140208
------解决方案--------------------
http://bbs.****.net/topics/390599630
把这个帖子回复改下就行了
private void Button1_Click(object sender, EventArgs e)
{
Login f2 = new Login();
f2.ShowText += new Form2.ParentShowText(ShowText_Method);
MDILogin.visable=false;
f2.Show();
}
Form1不一定是Form2的主窗体
然后在Form1中写一个实现的公共的事件
public void ShowText_Method()//参数与Form2中的委托对应起来
{
//根据Form2中的传参,实际是在Form1中操纵细节
MDILogin.visable=true;
}
在Form2中的X的点击事件
private void FormClosing_Click(object sender, EventArgs e)
{
ShowText();
}