C#窗体间相互调用及数据传递方法.doc
文本预览下载声明
C#窗体间相互调用及数据传递方法
摘要:主要从面向对象的基本概念出发,分析了C#中的Form类,重点介绍了在C#中如何实现窗体间的相互调用方法,以及窗体间数据传递方法与实现技术。
关键词:类;C#;窗体;数据传递
中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)09-11645-05
The Methods of Calling form and Data Transmission with Visual C#
FANG Yu-yan1, LOU Jin2
(1.Zhejiang University of Technology, Hangzhou 310014, China; 2.Hangzhou Dianzi University, Hangzhou 310014, China)
Abstract: Mainly based on the core concept of object-oriented, has analyzed the form class in visual C#, introduced with emphasis how to realize calling form mutually in Visual C#. Simultaneouslydiscussed between the different window forms data transmission methods.
Key words: Class; Visual C#; Window form; Data transmission
初学C#时,有很多人对窗体间的相互调用方式总是不能很好的理解,在实现过程中总会遇到很多问题,把对窗体间互操作的一些实质进行了归纳总结,希望对初学者有所帮助。C#窗体间的互操作主要是指窗体间的相互调用和数据的传递。
1 Form类
在正式讲解窗体间的互相调用之前,先了解一下C#中窗体的实质。C#是纯面向对象的语言,新建一个窗体就相当于定义了一个类,在实际使用时是必需要对窗体进行实例化的。
在新建一个Windows应用程序时,Visual Studio会自动生成一个Form1.cs和Program.cs二个文件。在2005以后的版本中,Form1.cs下还多了一个Form1.Designer.cs文件,用于存放窗体内生成控件的代码。
打开Form1.cs代码视图中可以看到代码如下,这是一个典型的类定义。
public partial class Form1: Form
{
public Form1() //这是构造函数,调用Form1.Designer.cs中的控件初始化方法。
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) //事件方法
{
}
}
打开Program.cs代码可以看到程序代码如下:
static void Main()
{
……
Application.Run(new Form1()); //实例化Form1同时使Form1窗体可见。
}
Form1.cs和Form1.Designer.cs这二个文件结合起来就是对窗体Form1类的一个完整定义。学习过面向对象编程方式的人都知道,完成类定义并不能真正的使用,还要对类进行实例化。在程序运行时,是通过运行Program.cs文件的程序入口方法Main()中的Application.Run (new Form1())语句来实现窗体Form1类的实例化并实现窗体的显
示的。
2 单窗体之间的相互调用
如果要在某个窗体中调用另外一个窗体,那么首先要对这个被调用的窗体进行实例化。下面用一个简单的实例来说明。
在Visual Studi 2005中新建一个项目,在项目中新建二个窗体Form1和Form2,也即新建了Form1和Form2二个类,窗体设计如下图1。要求能实现下列的操作,在Form1中单击“调用form2”按钮后,打开窗体Form2,单击Form2中的“关闭”按钮关闭Form2窗体。
在Form1窗体中双击“调用form2”按钮(或在事件窗口中查找click事件双击),生成按钮单击事件,在事件中写入代码,如下:
public partial class Form1 : Form
{
……
private void b
显示全部