偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C# Windows Forms應(yīng)用程序淺談

開(kāi)發(fā) 后端
這里介紹C# Windows Forms應(yīng)用程序,我們先總體看一下Windows Forms,然后再看一下使用C#來(lái)寫(xiě)基于C# Windows Forms應(yīng)用程序需要些什么。

作為一個(gè)Windows開(kāi)發(fā)者, 你應(yīng)毫不猶豫成為Microsoft新的。NET的倡導(dǎo)者。在規(guī)范的客戶端應(yīng)用程序成為流行的同時(shí),越來(lái)越多的組織正趨向于簡(jiǎn)單的,基于瀏覽器的可以通過(guò)網(wǎng)絡(luò)交互(通常是Internet)的應(yīng)用程序。

這就意味著編程正在從獨(dú)立的應(yīng)用程序模式向更豐富的面向組件的模塊化應(yīng)用程序轉(zhuǎn)變。

.NET平臺(tái)正是為推動(dòng)這一運(yùn)動(dòng)——特別是被稱(chēng)為Windows Forms的。NET用戶界面模型……NET使用了Windows Forms來(lái)編寫(xiě)一個(gè)應(yīng)用程序的用戶界面。你可以使用C#或Visual Basic.NET來(lái)創(chuàng)建這些特性。在這里我將向你展示C#為。NET平臺(tái)創(chuàng)建基于Windows Forms用戶方面的作用。這里的例程就是一個(gè)用C#寫(xiě)的基于Windows Forms的tic-tac-toe游戲。

每過(guò)幾年,Windows的編程方式就會(huì)發(fā)生巨大的變化。去年夏天的Microsoft Professional Developers Conference (PDC)把Windows的開(kāi)發(fā)者領(lǐng)回到了square one.而在幾年前,平臺(tái)才剛剛從DOS轉(zhuǎn)變?yōu)閃indows.現(xiàn)在,開(kāi)發(fā)者已經(jīng)解決了桌面上的問(wèn)題。新的方向是開(kāi)發(fā)Internet 框架來(lái)讓愈來(lái)愈多的公司能搬到Web上。

在八十年代末,Windows開(kāi)發(fā)者使用C和SDK寫(xiě)了大量的桌面應(yīng)用程序,然后就是C++和框架,如Microsoft Foundation Class Library(MFC)。與此同時(shí),VB開(kāi)發(fā)領(lǐng)域也得到了堅(jiān)實(shí)的立足點(diǎn)。在擁有強(qiáng)大優(yōu)勢(shì)諸如強(qiáng)大的開(kāi)發(fā)環(huán)境和可管理開(kāi)發(fā)者資源的runtime的面前,VB正逐步走向成熟,成為許多企業(yè)開(kāi)發(fā)前端和中間層組件的得力工具。對(duì)于大多數(shù)其他應(yīng)用程序,開(kāi)發(fā)者都可以使用Windows Forms來(lái)創(chuàng)建用戶界面。

讓我們先總體看一下Windows Forms,然后再看一下使用C#來(lái)寫(xiě)基于C# Windows Forms應(yīng)用程序需要些什么。在外殼下,所有的Windows應(yīng)用程序都是以同樣的方式運(yùn)行的。Windows會(huì)維護(hù)Windows類(lèi)的集合(即windows的行為都是在WndProc()函數(shù)中定義的)。在Windows編程的早期,***的任務(wù)就是寫(xiě)大約80行的樣板代碼為了能讓它正確的運(yùn)行,后來(lái)逐漸通過(guò)添加事件句炳來(lái)開(kāi)發(fā)應(yīng)用程序。MFC就使得開(kāi)發(fā)者不用再去為Winmain()和WndProc()費(fèi)神了。Windows Forms繼承了這種忽略編程細(xì)節(jié)的趨勢(shì),所以你不必花大量的時(shí)間在書(shū)寫(xiě)那些枯燥的代碼上。

隨著基于SDK和MFC的發(fā)展,你可能仍然保留作為開(kāi)發(fā)者對(duì)Windows API的鐘愛(ài)。如果你需要嚴(yán)格的控制你的應(yīng)用程序,使用C和SDK——或甚至是MFC來(lái)開(kāi)發(fā)應(yīng)用程序是必要的。如果你希望有靈活性,基于SDK或MFC的開(kāi)發(fā)仍然是需要的。但是如果你覺(jué)得一個(gè)更簡(jiǎn)單,更直觀的開(kāi)發(fā)環(huán)境比嚴(yán)格控制或靈活性更重要的話,使用Windows Forms來(lái)開(kāi)發(fā)基于窗體的用程序可能更適合你。

編寫(xiě)客戶代碼

有了Windows Forms,你就可以編寫(xiě).NET平臺(tái)的客戶代碼。如果你曾使用過(guò)VB,你就可能對(duì)它基于窗體的應(yīng)用程序模型很熟悉。而Windows Forms與此很相似。SDK或MFC的編程風(fēng)格是直接與Windows API交互的,甚至當(dāng)MFC中出現(xiàn)了框架,你仍僅僅是從底層的Windows API邁出了一小步。與此相反,Windows Forms隱藏了舊式Windows編程風(fēng)格中的樣板代碼的細(xì)節(jié),以帶有菜單和標(biāo)題欄的正規(guī)窗體的形式顯示。Windows Forms能響應(yīng)標(biāo)準(zhǔn)的事件,如鼠標(biāo)的移動(dòng)和菜單的選擇,而且它們也可以控制在客戶區(qū)的行為。然而,管理這些特性的語(yǔ)法比你用SDK或MFC編寫(xiě)程序的語(yǔ)法要抽象的多。

你可以以標(biāo)準(zhǔn)的窗口、多文檔界面(MDI)、對(duì)話框或繪圖程序表面的形式顯示W(wǎng)indows Forms.隨著VB的發(fā)展,它使用了用戶界面(UI)發(fā)展中的窗體模型,即給一個(gè)Windows 窗體定義用戶界面,通常就是意味著能在窗體的客戶區(qū)安放控件。但是Windows Forms還可以更好的渲染你所希望的繪圖表面。

除了能渲染繪圖表面和管理標(biāo)準(zhǔn)控件集,Windows Forms通過(guò)屬性來(lái)定義它們的外觀。例如,要想編程在屏幕上移動(dòng)一下Windows窗體,你只要設(shè)置Windows 窗體的X屬性。Windows Forms使用方法來(lái)管理它們的行為,而且它們也可以通過(guò)響應(yīng)事件來(lái)定義與用戶的交互。

Windows Forms是在。NET Framework或Common Language Runtime(CLR)中運(yùn)行的類(lèi)的實(shí)例。編寫(xiě)一個(gè)C# Windows Forms應(yīng)用程序通常就是實(shí)例化WinForm類(lèi)的一個(gè)實(shí)例,配置它的屬性并建立事件句柄。因?yàn)橐粋€(gè)Windows 窗體就是一個(gè)標(biāo)準(zhǔn)的基于CLR的類(lèi),是完全支持繼承的,你可以以標(biāo)準(zhǔn)的,面向?qū)ο蟮姆绞絹?lái)建立基于Windows Forms的類(lèi)之間的繼承關(guān)系。

現(xiàn)在,讓我們看一下開(kāi)發(fā)環(huán)境。Microsoft的Visual Studio.NET不斷在進(jìn)步。不幸的是,IDE的PDC Tech Preview版本不是很穩(wěn)定。所以我用C#開(kāi)發(fā)的開(kāi)發(fā)環(huán)境中包含一個(gè)文本編輯器和一個(gè)命令行編譯器。Beta 1解決了很多方面,使VS.NET成為開(kāi)發(fā)C#應(yīng)用程序的可行環(huán)境。

但是如果你不喜歡使用VS.NET的beta版,那你也可以回到命令行的方式。C#的命令行編譯器名為CSC.EXE.當(dāng)運(yùn)行它時(shí),它通過(guò)命令行決定輸出的位置、需要的資源文件、應(yīng)用程序要使用的系統(tǒng)文件和***可執(zhí)行文件中要包含的C#文件。例如,以下命令行編譯了一個(gè)名為someApp.cs的文件,引入了System.DLL的多種系統(tǒng)功能,在資源中包含了一個(gè)JPG文件,并且把最終的可執(zhí)行文件放到名為bin的目錄下:

csc /out:bin /R:System.DLL /res:XYZ.JPG someApp.cs

我們?cè)僖淮位氐搅?989年你用命令行編譯器通過(guò)一些批處理文件或makfiles來(lái)創(chuàng)建一個(gè)Windows應(yīng)用程序的時(shí)候。在開(kāi)發(fā)tic-tac-toe例程時(shí),我也在一個(gè)簡(jiǎn)單的批處理文件中使用了命令行編譯器。

現(xiàn)在,你可以通過(guò)C#和VB來(lái)使用Windows Forms.這兩種語(yǔ)言在建立基于Windows Forms的應(yīng)用程序方面是等同的。你可以使用它來(lái)創(chuàng)建大量當(dāng)今需要的編程構(gòu)架——特別是當(dāng)開(kāi)發(fā)基于C# Windows Forms應(yīng)用程序。

【編輯推薦】

  1. C#編寫(xiě)數(shù)字轉(zhuǎn)換中文算法
  2. 分析C#調(diào)用COM對(duì)象
  3. C# SingleInstance類(lèi)淺析
  4. 概述C#調(diào)用Active組件
  5. C# Convert.ToInt32簡(jiǎn)介
責(zé)任編輯:佚名 來(lái)源: IT168
相關(guān)推薦

2009-08-24 13:40:58

C# Windows

2009-08-06 10:27:08

C#應(yīng)用程序域

2009-08-24 14:19:27

C# Windows應(yīng)

2009-08-24 16:02:10

C# Windows應(yīng)

2009-08-25 09:39:21

創(chuàng)建C# Window

2009-08-24 09:25:18

Visual C# ..NET應(yīng)用程序

2012-05-28 15:37:20

WP程序生命周期

2009-08-24 14:03:19

Windows For

2009-08-28 16:43:08

AutoCAD托管C#

2009-01-19 11:07:42

C#Web.NET

2009-09-03 17:36:13

C#創(chuàng)建Web應(yīng)用程序

2009-07-14 11:08:42

WebRendererSwing應(yīng)用程序

2009-08-07 17:32:17

C#編譯程序

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2011-07-20 17:23:29

C++持久對(duì)象

2009-08-14 18:04:59

C#Windows應(yīng)用

2011-09-05 10:27:02

Sencha Touc手機(jī)應(yīng)用Android

2009-08-14 17:36:20

C#Windows應(yīng)用

2009-08-14 17:27:30

C#Windows應(yīng)用

2009-08-19 15:31:32

C#控制臺(tái)應(yīng)用程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)