1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

C#中父窗口和子窗口之间实现控件互操作

作者:用户 来源:互联网 时间:2016-07-07 19:44:31

c#窗体c# 窗体 画图对象控件窗体c#窗体控件窗口父窗体与子窗体public父控件主窗体类调用窗体控件窗体player控件c#系统成员

C#中父窗口和子窗口之间实现控件互操作 - 摘要: 本文讲的是C#中父窗口和子窗口之间实现控件互操作, 父窗口|控件|子窗口   很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建

父窗口|控件|子窗口   很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。

  下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:

  第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:

public static yourMainWindow pCurrentWin = null;
  然后在主窗体构造函数中,给静态成员初始化,如下:

pCurrentWin = this;
  那么在子窗体中调用父窗体,可以通过“主窗体类名. pCurrentWin”来操作当前的主窗体。

  第二种,是在子窗体中定义一个私有成员,来保存当前主窗体对象,例如:

private yourMainWindow pParentWin = null;
  然后在子窗体构造函数中,加一参数,如下:

public yourChildWindow( yourMainWindow WinMain )
{
 pParentWin = WinMain;
 //Other code
}
  在主窗体创建子窗体的时候,要把this作为参数来构造子窗体,这样在子窗体中调用父窗体,可以直接用“this.pParentWin”就可以了

  不过以上所作的,只是让你能够访问当前主窗体对象,那么如何操作控件,很多人直接修改控件的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:

public string ButtonText
{
 get{ return btn.Text;}
 set{ btn.Text = value;}
}

public void Button_Click()
{
 this.btnDConvert.PerformClick();//Execute button click
}

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#窗体 , c# 窗体 画图 , 对象 , 控件 , 窗体 , c#窗体控件 , 窗口 , 父窗体与子窗体 , public , 父控件 , 主窗体 , 类调用窗体控件 , 窗体player控件c#系统 成员 c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

qt c++-Qt中,到底如何实现主窗口和子窗口之间的通信?

问题描述 Qt中,到底如何实现主窗口和子窗口之间的通信? RT,比如,当子窗口关闭时,重新打开主窗口。这个是如何通信的,希望能给上例子。我知道是用信号和槽,可是两个窗口(类)之间的...

jQuery使用模式窗口实现在主页面和子页面中互相传值的方法_jquery

本文实例讲述了jQuery使用模式窗口实现在主页面和子页面中互相传值的方法。分享给大家供大家参考,具体如下: 主面面: function openWindow() { var oldValue = { Name:$("#Name").val(),Age:$("#Age").val() }; var result = popModal("window.html", 3...

SWT的可视化控件的X11窗口句柄简介

...的做法不同,awt和swt在不同的操作系统上的外观是和本地窗口一样的。 每一个swt和awt的窗口都对应一个本地窗口(native window),自然也会有一个窗口句柄。而swing则不同,是没有本地窗口句柄的。在获得窗口句柄之后,就可以...

工作总结

...里无法通过像IE一样的通过IFrame的contentWindow属性调用IFrame窗口里的函数。而子窗口中通过Top属性调用父窗口的函数,经过测试也不是每次都能成功的。3.不支持div、td等的滚动。有些画面在一定区域显示不下,只有用滚动的方式...

iframe中子父窗口互调的js方法

一、父窗口调用iframe子窗口方法 1、HTML语法: 2、父窗口调用子窗口:myFrame.window.functionName(); 或者                                      document.frames("myFrame").window.functionName();或者                    ...

前三篇
后三篇