c#-C#能不能创建一个指向已经打开的窗体的对象

问题描述

C#能不能创建一个指向已经打开的窗体的对象

我有两个窗体,点击form1上的按钮显示form2,现在要在form2中操作form1的控件,想要一个指向这个已经打开的form1的对象,这个要怎么做

解决方案

可以用Application.OpenForms集合遍历已经打开的窗口。

解决方案二:

可以在打开form2的时候指定owner参数,比如:
Form2 form2 = new Form2();
form2.Show(this);
这样,在form2里可以通过Owner属性来访问form1。
不过这种方式并不合理,控件应该是窗体私有的,尽可能不要从外部直接操作控件。
比较合适的作法是在form2中定义一些事件,然后在form1中对这些事件进行响应,从而操作自己的控件。

解决方案三:

使用委托的方式可以,实现 form2 操作form1 。from2 操作一个按钮,调用委托 通知form1。form1 接到 指令,去做对应的操作。

解决方案四:

form2.ParentForm

时间: 2024-11-05 18:30:52

c#-C#能不能创建一个指向已经打开的窗体的对象的相关文章

使用Java Swing创建一个XML编辑器之二

这是本系列的第二篇文章.在上一篇文章中,我们简要地讨论了XML以及为什么一个树形结构适合显示XML.如何处理XML数据.如何使用JTree Swing 组件以及如何创建一个可重用的能够分析XML文档以及在Jtree显示数据的组件. 在本文中,我们将创建我们的XML编辑器的框架,为了达到这个目的,我们将用到许多Swing组件(包括JsplitPane.JscrollPane.Jbutton和JtextArea组件). 一.问题的提出与解决 我如何创建一个能够浏览文本和浏览视图的XML文本编辑器呢?

如何创建一个没有文件名的.htaccess .gitignore文件?

需求:创建一个 .gitignore 文件. 1. 首先准备一个 test.gitignore 文件 , 用文本编辑器进行编辑即可. 2. 创建一个 demo.txt 里面写入:  代码如下 复制代码 ren test.gitignore .gitignore 3. 把 demo.txt 重命名为 demo.bat. 双击 demo.bat 见证奇迹的时候就要到了,你会看到一个 .gitignore 文件. 需求,创建一个.htaccess文件 打开一个Windows Notepad(记事本工具

创建一个ASP通用分页类

创建|分页 转自"蓝色理想" http://www.blueidea.com/tech/program/2004/1989.asp.ASP分页一直是一个众说纷坛的话题,而且也没有一个太有效的方法.今天在CSDN的BLOG里看到了这个ASP分页类,(http://blog.csdn.net/xiangbo520/archive/2004/09/22/113539.aspx),只是提供了源码,而且源码中部分标签已被作为HTML显示了,想复制下来也不太容易,所有到蓝色理想找到了一篇全面一点的

创建一个ASP分页类(一)文章部分

创建|分页 创建一个ASP通用分页类 平波 从开始学习到使用ASP到现在也写了不少程序了,最令人头痛的是写数据分页,每次都是由于几个变量名或几个参数的不同,因而需要每次都写哪一段冗长而又繁杂的分页代码,代码长了使得程序的可读性变差,容易出差,调试半天也找不出错在哪里,所以慢慢的我开始使用一些网上的提供的分页函数或分页类.的确省事不少,但是通常的函数和类的做法都是就数据显示部分也封装了起来,每次为了达到自己需要的显求效果要去改动函数或者类的本身,所以使用起来也不是怎么方便,自己写的分页改起来已经够

如何用VB.Net创建一个三层的数据库应用程序(转贴

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

如何用VB.Net创建一个三层的数据库应用程序

程序|创建|数据|数据库 1. 概论: 本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务. ADO.NET创建Windows三层结构应用程序的体系架构如下图所示: 该结构分三个层次:表示层.业务层.数据层. 数据层:代表物理数据库. 业务层:负责数据层与表示层之间的数据传输. 表示层:应用程序的客户端,它通过业务层来访问数据库. 表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现.这样可以大大提高应用程序的性能,而且

Scott Mitchell的ASP.NET 2.0数据教程之一 创建一个数据访问层

返回"ASP.NET 2.0数据教程目录" 导言 作为web开发人员,我们的生活围绕着数据操作.我们建立数据库 来存储数据,写编码来访问和修改数据,设计网页来采集和汇总数据.本文是研 究在ASP.NET 2.0中实现这些常见的数据访问模式之技术的长篇系列教程的第一篇 .我们将从创建一个软件框架开始,这个框架的组成部分包括一个使用强类型的 DataSet的数据访问层(DAL),一个实施用户定义的业务规则的业务逻辑层(BLL), 以及一个由共享页面布局的ASP.NET网页组成的表现层.在打

创建一个简单的 Compute Grid 并行批处理应用程序

简介 批处理是业务系统的一个重要方面,它用在帐单系统或报告生成,以及一天 结束时的结算系统等领域中.随着业务系统在全球被夜以继日的使用,批处理窗口变得越来 越窄,这使高效的批处理系统成为一种切实的需求.WebSphere Extended Deployment Compute Grid(下文简称 Compute Grid)是一个完整的.开箱即用的批处理平台,提供了一 个高效.可靠.可扩展.高度可用和安全的批执行环境. 本文基于 WebSphere Compute Grid V8.我们使用 Rat

WSS3SDK之如何创建一个简单的Feature

本例将带领您一步一步创建一个自定义操作Feature,来在SharePoint网站范围内添加一个按钮到编辑通知窗体的工具栏. 步骤 在in Local_Drive:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES创建一个SimpleFormToolbarButton 文件夹. 注意: 当 您通过Windows资源管理器(右击一个文件夹,点新建,然后点文件夹)在Featur