国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.Net平臺Windows Forms程序設計簡介-1

2024-07-10 13:08:00
字體:
來源:轉載
供稿:網友
引言:

  微軟的.net平臺堪稱為新一代的互聯網平臺。對于技術開發人員來說,.net平臺的兩大特性是非常卓越的,首先是其所提供的公共語言運行時,也就是公用語言運行平臺,另一方面就是龐大而全面的統一編程類。

  c#語言是微軟公司針對.net平臺才推出來的一門新語言,作為.net平臺的第一語言,它幾乎集中了所有關于軟件開發和軟件工程研究的最新成果。其不但繼承了c++、java等面向對象的強大功能特性,同時還是繼承了vb、delphi等編程語言的可視化快速開發功能,其是當前第一個完全面向組件的語言。

  .net平臺中的程序設計主要分為以下四個方面:web forms、windows 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 forms、windows 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函數中的代碼將執行。




  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 万宁市| 天柱县| 舟山市| 唐海县| 宁城县| 喜德县| 博爱县| 陆河县| 新营市| 聂拉木县| 阜南县| 五常市| 临江市| 缙云县| 河北区| 武强县| 平阳县| 焉耆| 凉山| 南澳县| 会昌县| 伊宁市| 勐海县| 宿州市| 缙云县| 南川市| 潼关县| 扬州市| 沈阳市| 邵东县| 积石山| 仙游县| 乌拉特中旗| 柳林县| 班戈县| 葫芦岛市| 伊宁市| 夹江县| 合川市| 香河县| 洛南县|