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动态添加行及添加列的方法

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

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#中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添加新行的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#利用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常用设置

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

C# DatagridView常用操作汇总

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

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

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

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

C#实现DataGridView控件行列互换的方法

本文实例讲述了C#实现DataGridView控件行列互换的方法.分享给大家供大家参考.具体如下: 该示例程序是一个Windows窗体应用程序,有左右两个DataGridView控件:dgvLeft和dgvRight dgvRight除时间外的每一行是dgvLeft的一列 private void Form1_Load(object sender, EventArgs e) { //C#中确定控件DataGridView根据内容自动调整列宽长度的属性 //是AutoSizeColumnsMode

Android开发中使用WebView控件浏览网页的方法详解

本文实例讲述了Android开发中使用WebView控件浏览网页的方法.分享给大家供大家参考,具体如下: 项目中遇到数学展示问题,常规的Textview显示处理不了数学公式,利用图片生成对服务器又产生较大压力,经过查询,可以通过webview加载JS实现.IOS同样的方法也可实现,但JS渲染效率远高于安卓.对Webview做下总结. 1.WebView 在使用WebView控件时,首先需要在xml布局文件中定义一个WebView控件,定义的方法如下: <WebView android:id=&quo

实现DataGridView控件中CheckBox列的使用实例

复制代码 代码如下: /// <summary>        /// 实现DataGridView控件中CheckBox列的使用        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void dgvTradList_Ce

DataGridView控件详细介绍

1何为DataGridView 通过DataGridView控件,可以显示和编辑表格式的数据,而这些数据可以取自多种不同类型的数据源. DataGridView控件具有很高的的可配置性和可扩展性,提供了大量的属性.方法和事件,可以用来对该控件的外观和行为进行自定义.当你需要在WinForm应用程序中显示表格式数据时,可以优先考虑DataGridView(相比于DataGrid等其它控件).如果你要在小型网格中显示只读数据,或者允许用户编辑数以百万计的记录,DataGridView将为你提供一个易

灵活掌握asp.net中gridview控件的多种使用方法(上)

灵活使用asp.net中gridview控件的方法有很多种,本文内容很富,希望大家都能有所收获. 1.GridView无代码分页排序: 效果图: 小提示: 1.AllowSorting设为True,aspx代码中是AllowSorting="True": 2.默认1页10条,如果要修改每页条数,修改PageSize即可,在aspx代码中是PageSize="12". 3.默认的是单向排序的,右击GridView弹出"属性",选择AllowSort

android 设置控件的颜色字体的方法

1.用代码设置控件的颜色: 复制代码 代码如下: int b =  getResources().getColor(R.drawable.blue);//得到配置文件里的颜色    mButton.setTextColor(b); 2.设置空间的字体:方式一:mText.setTypeface(Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf"));//设置字体   注意:1.保证文件一定是ttf格式:

Android中shape定义控件的使用

Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码: <shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --> <gradient android:startColor="#ff8c00" android:endColor="#FFFFFF

MFC中动态创建控件以及事件响应实现方法

本文实例讲述了MFC中动态创建控件以及事件响应实现方法,分享给大家供大家参考.具体实现方法如下: 动态控件是指在需要时由Create()创建的控件,这与预先在对话框中放置的控件是不同的. 一.创建动态控件: 为了对照,我们先来看一下静态控件的创建. 放置静态控件时必须先建立一个容器,一般是对话框,这时我们在对话框编辑窗口中,从工具窗口中拖出所需控件放在对话框中即可,再适当修改控件ID,设置控件属性,一个静态控件就创建好了,当对话框被显示时,其上的控件也会显示. 静态控件不需要调用Create()

灵活掌握asp.net中gridview控件的多种使用方法(下)

继续上篇文章的学习<灵活掌握asp.net中gridview控件的多种使用方法(上)>,在此基础上巩固gridview控件的操作使用,更上一层楼. 11.GridView实现用"..."代替超长字符串: 效果图: 解决方法:数据绑定后过滤每一行即可 for (int i = 0; i <= GridView1.Rows.Count - 1; i++) { DataRowView mydrv; string gIntro; if (GridView1.PageIndex