C#實(shí)現(xiàn)winform用子窗體刷新父窗體及子窗體改變父窗體控件值的方法
本文實(shí)例講述了C#實(shí)現(xiàn)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);//這里注意傳個(gè)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)//這個(gè)構(gòu)造方法里有參數(shù)
{
form4 = formFrm; //這個(gè)必須要有
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
form4.StrLabel1 = this.textBox1.Text;
}
}
}
希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
c# socket編程udp客戶端實(shí)現(xiàn)代碼分享
這篇文章主要介紹了c# socket編程實(shí)現(xiàn)udp客戶端,大家參考使用吧2013-12-12
90分鐘實(shí)現(xiàn)一門編程語言(極簡解釋器教程)
本文介紹了如何使用 C# 實(shí)現(xiàn)一個(gè)簡化 Scheme——iScheme 及其解釋器,需要的朋友可以參考下2016-12-12
漢字轉(zhuǎn)拼音縮寫示例代碼(Silverlight和.NET 將漢字轉(zhuǎn)換成為拼音)
本篇文章主要介紹了漢字轉(zhuǎn)拼音縮寫示例代碼(Silverlight和.NET 將漢字轉(zhuǎn)換成為拼音) 需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
C#實(shí)現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換
這篇文章介紹了C#實(shí)現(xiàn)DataTable數(shù)據(jù)行列轉(zhuǎn)換的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04
C#數(shù)值轉(zhuǎn)換-顯式數(shù)值轉(zhuǎn)換表(參考)
就是在將一種類型轉(zhuǎn)換成另外一種類型時(shí),需要額外的代碼來完成這種轉(zhuǎn)換。2013-04-04

