winform程序两个窗体间同步数据(三):建立父窗口与子窗口的父子关系(不使用线程)
2017-02-03 12:29
435 查看
一 问题:
1 可不可以不使用线程?可以。需要建立父窗口和子窗口之间的父子关系。
2 如何建立父子关系?
在子窗体中增加一个类型为父窗口的属性(即ChildFrm类中设置 public ParentFrm parentFrm{get;set;}属性)。
二 显示效果
三 代码
1 入口程序using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ParentFrm parentFrm = new ParentFrm();
Application.Run(parentFrm);//启动父窗体
}
}
}
2父窗体
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class ParentFrm : Form
{
public ParentFrm()
{
InitializeComponent();
}
public TextBox GetTbParent()
{
return this.TbParent;//TbParent 是私有的对象 ,所以要有公有的方法获取TbParent对象
}
private void button1_Click(object sender, EventArgs e)//点击事件
{
ChildFrm childFrm = new ChildFrm();
childFrm.parentFrm = this; //建立父子关系
childFrm.Show();//显示子窗体
}
}
}
3 子窗体
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class ChildFrm : Form { public ParentFrm parentFrm{get;set;} public ChildFrm() { InitializeComponent(); } private void TbChild_TextChanged(object sender, EventArgs e) { parentFrm.GetTbParent().Text = this.TbChild.Text;//将用户输入到子窗体TEXTBOX控件中的内容放入到父窗体的TEXTBOX控件中 } } }
相关文章推荐
- winform程序两个窗体间同步数据(二): 子窗体和线程实现
- winform程序三个窗体间同步数据(四):建立兄弟关系(不适用线程)
- winform程序两个窗体间同步数据(一): 静态变量和线程实现
- winform程序三个窗体间同步数据(五):接口实现多态减少代码(观察者模式)
- 线程间无需特别的手段进行通信,因为线程间可以共享数据结构,也就是一个全局变量可以被两个线程同时使用,不过要注意的是线程间需要做好同步。
- winform程序三个窗体间同步数据(六):利用多播委托同步数据
- 如何在C#Winform程序中正确使用登录窗体
- [转]使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- 两个程序之间传递数据可以使用wm_copydata
- 关于C#Winform线程调用窗体的使用方法以及窗体的单一显示
- 通过事件同步两个窗体之间的数据
- WinForm程序中使用在项目中内嵌mdf数据的问题
- Merge(在一条语句中使用Insert,Update,Delete) 对两个表进行同步数据
- 【原创】浅谈如何在C#Winform程序中正确使用登录窗体
- 使用事件和委托再两个窗体之间传递数据
- 使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
- 使用WinForm程序控制其他窗口程序
- Sync Service for ADO.NET 程序调试 - 使用Tracing生成LOG(数据同步的日志) [DEVICE篇]
- WinForm程序中使用控制台(console)作为输出窗口
- 比较经典的为C# Winform程序设置登录窗体先启动,成功后再启动主窗口