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#程序设计有所帮助。

时间: 2015-07-20

C#实现绑定DataGridView与TextBox之间关联的方法

本文实例讲述了C#实现绑定DataGridView与TextBox之间关联的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace System.Window

c#利用Excel直接读取数据到DataGridView

在winform里拖入一个datagridview控件,跟一个openfiledialog控件 复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using Microsoft.Office.Core;using Excel=Mi

C# DataGridView添加新行的2个方法

可以静态绑定数据源,这样就自动为DataGridView控件添加 相应的行.假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: 复制代码 代码如下: int index=this.dataGridView1.Rows.Add();this.dataGridView1.Rows[index].Cells[0].Value = "1"; this.dataGridView1.Rows[inde

C# Datagridview绑定List方法代码

本文实例讲述了c# DatagridView绑定List的方法,分享给大家供大家参考.具体方法如下: 主要代码如下: IList<Person> lists; public Form2() { InitializeComponent(); lists = new BindingList<Person>(); lists.Add(new Person(2)); this.dataGridView1.DataSource = lists; } 希望本文所述对大家的C#程序设计有所帮助.

C#中DataGridView的样式

本文实例讲述了C#中DataGridView的样式.分享给大家供大家参考.具体如下: 1.设置grid交替行颜色 复制代码 代码如下: public static void SetGridAlternatingRows(DataGridView dg) {     if (dg != null)     {  dg.RowsDefaultCellStyle.BackColor = Color.FromArgb(255, 255, 255);  dg.AlternatingRowsDefaultC

C# DatagridView常用操作汇总

本文汇总了C#中DatagridView的常用操作,有助于读者加深对C# DatagridView用法的理解,具体如下: 1.(最基本的技巧).获取某列中的某行(某单元格)中的内容 this.currentposition = this.dataGridView1.BindingContext [this.dataGridView1.DataSource, this.dataGridView1.DataMember].Position; bookContent = this.database.d

C#中DataGridView动态添加行及添加列的方法

本文实例讲述了C#中DataGridView动态添加行及添加列的方法.分享给大家供大家参考.具体如下: Datagridview添加列: DataGridViewTextBoxColumn acCode = new DataGridViewTextBoxColumn(); acCode.Name = "acCode"; acCode.DataPropertyName = "acCode"; acCode.HeaderText = "A/C Code&quo

C#中改变DataGridView控件边框颜色的方法

DataGridView是Visual Studio中一个最重要的数据控件.它可以应用在大多数场合,功能强大,使用灵活.本文要重点介绍一下,如果设置DataGridView的边框颜色. 比尔盖次说"Apple机上没有哪一个软件我是觉得应该是微软首创的",这说明盖次对微软软件功能强大的自信心.而乔布斯而说,微软的软件毫无艺术感可言!这说明什么,说明微软的东西--丑! 乔帮主不愧是乔帮主,真是入木三分,直中要害!是的,默认情况下的DataGridView,真是丑!尤其是那个黑色的边框,不是

C#窗体控件DataGridView常用设置

在默认情况下,datagridview的显示效果: 1.禁用最后一行空白. 默认情况下,最后一行空白表示自动新增行,对于需要在控件中进行编辑,可以保留 dataGridView1.AllowUserToAddRows = false; 上述禁用,仅是将用户界面交互的自动新增行禁了,但还是可以通过代码:dataGridView1.Rows.Add();来新增一行空白. 2.禁用'delete'键的删除功能. 默认情况,鼠标选中一整行,按 删除键 可以删除当前一整行 dataGridView1.Al

c#读取xml文件到datagridview实例

复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;using System.Xml;using System.Xml.Linq; namespa

PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】

本文实例讲述了PHP读取XML文件的方法.分享给大家供大家参考,具体如下: 使用DOMDocument对象读取xml 创建一个DOMDocument对象 $doc = new DOMDocument(); 载入xml文件 $doc->load("book.xml"); 获取标签对象 $books = $doc->getElementsByTagName("book"); 获取标签的子对象 $titles = $book->getElementsBy

读取xml文件中的配置参数实例

paras.xml文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework

spring mvc 读取xml文件数据库配置参数的方法

本文主要介绍怎么通过属性注入与构造器注入实现把我们项目中要用到的数据库参数放到xml文件里面去,方便部署. spring mvc 4.2.6项目 SQL Server 2008数据库 本文介绍的主要使用ApplicationContext以及其实现类实现.主要用到的是ClassPathXmlApplicationContext. ClassPathXmlApplicationContext:从类路径ClassPath中寻找指定的XML配置文件,找到并装载 完成ApplicationContext

asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法

本文实例讲述了asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法.分享给大家供大家参考,具体如下: string strxml = "<xml><m><a>1</a><b>2</b></m><m><a>11</a><b>22</b></m><m><a>111</a><

PHP简单读取xml文件的方法示例

本文实例讲述了PHP简单读取xml文件的方法.分享给大家供大家参考,具体如下: 我将软件版本更新中的版本号等数据信息存放在xml文件中,使用时将版本信息读取出来. xml文件内容如下: <xml version="v1.01" encoding="utf-8"> <updataMessages> <version>v1.8.7</version> </updataMessages> </xml>

php读取XML的常见方法实例总结

本文实例讲述了php读取XML的常见方法.分享给大家供大家参考,具体如下: xml源文件 <?xml version="1.0 encoding="UTF-8"?> <humans> <zhangying> <name>张映</name> <sex>男</sex> <old>28</old> </zhangying> <tank> <nam

JSP针对XML文件操作技巧实例分析

本文实例讲述了JSP针对XML文件操作技巧.分享给大家供大家参考,具体如下: XML(Extensible Markup   Language)可扩展标记语言,这个基础知识在早些已经学习过.而这篇教程为什么把它放在J2EE下边呢,因为他也是J2EE的13规范之一,虽然XML是W3C万维网组织联盟指定的,并做了规范,所以说也是一种规范,我们也必须按照规范来,和JDBC,Servlet,Jsp,Ejb等一样的. 前边的文章已经介绍了XML的一些基础知识,主要是用来存储,传输数据的,但是这些数据我们怎

c#使用Dataset读取XML文件动态生成菜单的方法

本文实例讲述了c#使用Dataset读取XML文件动态生成菜单的方法.分享给大家供大家参考.具体实现方法如下: Step 1:Form1 上添加一个ToolStripContainer控件 Step2:实现代码 private void Form2_Load(object sender, EventArgs e) { CMenuEx menu = new CMenuEx(); string sPath = "D://Menu.xml";//xml的内容 if (menu.FileExi

JS读取XML文件数据并以table形式显示数据的方法(兼容IE与火狐)

本文实例讲述了JS读取XML文件数据并以table形式显示数据的方法.分享给大家供大家参考,具体如下: 先看xml文件: <?xml version="1.0" standalone="yes"?> <student> <stuinfo> <stuName>张秋丽</stuName> <stuSex>女 </stuSex> <stuAge>18</stuAge>