.Net平台Windows Forms程序设计简介-1

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
引言:

  微软的. Net 平台堪称为新一代的互联网 平台。对于技术开发人员来说,. Net 平台的两大特性是非常卓越的,首先是其所提供的公共语言运行时,也就是公用语言运行 平台,另一方面就是庞大而全面的统一编程类。

  C#语言是微软公司针对. Net 平台才推出来的一门新语言,作为. Net 平台的第一语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。其不但继承了C++、Java等面向对象的强大功能特性,同时还是继承了VB、Delphi等编程语言的可视化快速开发功能,其是当前第一个完全面向组件的语言。

  . Net 平台中的程序设计主要分为以下四个方面:Web FormsWindows Forms、Web Service及 Windows Service,下面我向大家介绍 Windows Forms程序的设计。

  1、基本知识要点

  C#语言:C#语言自C/C++演变而来。它是现代、简单、完全面向对象和类型安全的。如果您是C/C++程序员,学习曲线将会很平坦。许多C#语句直接借用您所喜爱的语言,包括表达式和操作符。C#是现代的编程语言。C#减少了C++的一些特性,不再有宏、模板和多重继承。使编程更方便的新功能是严格的类型安全、版本控制、垃圾收集(garbage collect)等等。所有的这些功能的目标都是瞄准了开发面向组件的软件。因此也把C#称为面向组件的语言。

  类:类是一组具有相同数据结构和相同操作的对象的集合。类是对一系列具有相同性质的对象的抽象,是对对象共同特征的描述。比如每一辆汽车是一个对象的话,所有的汽车可以作为一个模板,我们就定义汽车这个类。C#是面向对象的,而且所有的C#代码都必须放在一个类中,不在有全局变量及全局名称等。

  . Net类库:微软为. Net 平台设计了非常庞大编程类。这些类包括从操作系统的底层到视窗界面,从数据库开发到Web服务等,涉及面非常广。这些类都是在公用语言运行时上,而且是管理、安全的代码。通过使用. Net提供的“超”类库,你可非常轻松的开发. Net 平台上的四大类程序:即Web FormsWindows Forms、Web Service及 Windows Service。

   Windows Forms程序:类似于 Windows程序,是指能在微软公司操作系统 平台Windows 98, Windows NT及 Windows2000等 平台上面运行的,有着非常漂亮脸蛋(如窗体、菜单、各种控制等)的程序。 Windows Forms是在. Net 平台中初次出现的概念,也称为 Windows窗体,由于是. Net Windows Forms程序,因此你的视窗系统就必须首先安装. Net 平台,才能运行。

  事件:在 Windows系统中,我们对窗体的各种操作都将为引发一个事件,如按一个按钮引发一个点击(Click),在文本框中输入内容时将引发文本框的文本改变(Change)事件。事件产生时将要发送消息,并由专门的消息处理程序翻译并处理消息。

  Visual Studio . Net:是微软. Net 平台上的一个功能强大的、集成多种开发语言的软件开发工具。通过该开发工具,大多数. Net编程语言都可以实现RAD(快速开发)。
2 Windows Forms中的几个基本概念

  启动程序

   Windows Forms程序与一般运用程序不同的是其是通过非常漂亮的外观窗体及窗体上各种控件与用户交互。程序不是一步一步的执行,而是有一个消息循环,根据用户的各种操作所引发的事件选择执行相应的功能。为了能管理、解释 Windows的各种消息、用户键盘或鼠标输入并响应各种事件,. Net类库为我们提供了一个专门用于启动 Windows程序的类:System. Windows. Forms.Application,通过使用Application类,我们可以非常容易就启动一个 Windows Forms程序,并把有关消息的解释、键盘及鼠标的输入管理、各种事件的响应等都交由Application负责处理。

  另外,在 Windows应用程序中,与一般的运用程序一样,程序的入口也一个类中的Main()方法(注意Main要求首字母大写),同样必须是static(静态)方法,否则程序将找不到入口点。

  下面,是C#中一个非常简单的启动 Windows程序的例子:

static public void Main()

{
 Application.Run(new Form());

}

  另外, Windows Forms程序的结束也是由Application类来进行的。

  窗体

   Windows操作系统最主要的成功得源于其漂亮的外观,即窗体。一般的 Windows程序都有一个窗体,你可以把各种各样的控件(如标签、文本框、命令按钮等)放置在窗体上,组成一个非常人性的人机界面。在. Net Windows Forms中使用窗体只需从System. Windows. Forms.Form类或其派生类的创建一个对象即可。

  下面的代码,是C#中一个非常简单的继承Form(窗体)类的例子:

public class myForm:System. Windows. Forms

{

private System. Windows. Forms.Button button1;

public myForm()

{

}

}

  在自定义的窗体类myForm中增加了一个Button(按钮)对象。
事件

  在 Windows Forms程序中,几乎用户的大多数都将操作都将产生 Windows事件,如按一个按钮引发一个点击(Click),用户移动鼠标有相应鼠标移动的事件等;有一些事件是不是用户操作产生而是系统自动产生的,如数据库链接断开、时间到达某一时刻或是使用外设时未就绪等。

  在 Windows Forms中,每一个 Windows控件有非常多的事件使其可以达到与用户交互,事件的监视及管理是由前面所说Application类负责的。在产生一个事件时一般经引发一系列操作,如点击“刷新”按钮使用程序重新从读取数据库中的数据、点击窗体上的关闭图标将关闭窗口或退出程序等。程序员就是通过书写事件的响应方法(即事件所引发的操作)来达到对程序的控制及交互。

  在. Net中,事件的声明是通过event(事件)关键字来声明的,事件是一个类的成员之一。

  . Net中,事件的响应及处理是通过一个新的数据类型delegate(代表)来处理的,delegate(代表)非常类似于C/C++的函数指针,但不同的是, delegate(代表)是安全的、受管理的。

  如下面分别用三种语言声明一个控件Click事件的代码:

public event EventHandler Click; [C#]

Public Event Click As EventHandler [Visual Basic]

public: __event EventHandler* Click; [C++]

  在上面的代码中,EventHandler是一个代表类型,其在. Net类库中的声明如下:

public delegate void EventHandler(object sender,EventArgs e); [C#]
Public Delegate Sub EventHandler(ByVal sender As Object,ByVal e As EventArgs) [Visual Basic]
public __gc __delegate void EventHandler(Object* sender,EventArgs* e); [C++]

  事件响应方法

  由于事件是解释及管理是由Application对象进行的,程序员不需要知道用户何时响应事件或者是响应了什么事件,只需要为事件添加响应方法即可。通过使用delegate(代表),你可以使用“+=”(加等于)操作符非常容易地为. Net类中的一个事件添加一个甚至多个响应方法,还可以通过非常简单的“-=”(减等于)操作符取消这些响应方法。如下面,我们为一个按钮的Click事件添加响应方法的代码:

button1.Click += new System.EventHandler(MyMethod);

  其中,MyMethod函数的定义如下:

void MyMethod(object sender, System.EventArgs e);

  这样当用户点击按钮或者是其它方法引发其Click事件时,MyMethod函数中的代码将执行。



seover="window.status='正文--. Net 平台 Windows Forms 程序设计简介-1(转自:天极网)';return true">
<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值