C#完成winform用子窗體刷新父窗體及子窗體轉變父窗體控件值的辦法。本站提示廣大學習愛好者:(C#完成winform用子窗體刷新父窗體及子窗體轉變父窗體控件值的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#完成winform用子窗體刷新父窗體及子窗體轉變父窗體控件值的辦法正文
本文實例講述了C#完成winform用子窗體刷新父窗體及子窗體轉變父窗體控件值的辦法。分享給年夜家供年夜家參考。詳細以下:
第一種辦法:
用拜托,Form2和Form3是統一組
Form2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestMouseMove
{
public delegate void SetVisiableHandler();
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 frm = new Form3(new SetVisiableHandler(SetVisiable));
frm.Show();
}
private void SetVisiable()
{
SetVisiable(this.label1, !this.label1.Visible);
}
private void SetVisiable(Control control, bool visiable)
{
if (this.Controls.Contains(control))
{
control.Visible = visiable;
}
}
}
}
Form3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestMouseMove
{
public partial class Form3 : Form
{
private SetVisiableHandler m_setVisible;
public Form3(SetVisiableHandler setvisible)
{
InitializeComponent();
this.m_setVisible = setvisible;
}
private void btnVisible_Click(object sender, EventArgs e)
{
if (this.m_setVisible != null)
{
this.m_setVisible();
}
}
}
}
第二種辦法:
用變量,Form4和Form5是統一組
Form4
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestMouseMove
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
#region 子窗口刷新父窗口的值
private string strLabel1 = "";
public string StrLabel1
{
get
{
return strLabel1;
}
set
{
strLabel1 = value;
this.label1.Text = strLabel1;
}
}
#endregion
private void button1_Click(object sender, EventArgs e)
{
Form5 form5 = new Form5(this);//這裡留意傳個this
form5.Show();
}
}
}
Form5
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestMouseMove
{
public partial class Form5 : Form
{
Form4 form4 = new Form4();
public Form5(Form4 formFrm)//這個結構辦法裡有參數
{
form4 = formFrm; //這個必需要有
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
form4.StrLabel1 = this.textBox1.Text;
}
}
}
願望本文所述對年夜家的C#法式設計有所贊助。