Head First C# 中文版 第13章 控制項和圖形 page595

 半分鐘簡介GDI+建立了Graphics對象之後,你就可以繪製各種的圖形和映像。你只需要調用它的方法,就可以繪製到建立Graphics的對象上。①第一步驟總是要擷取一個Graphics對象。可以通過表單的CreateGraphics()方法來獲得。記住,Graphics實現了IDisposable介面,所以如果你建立Graphics對象,請使用using語句。 ②如果你想要畫線,調用DrawLine()方法,參數為用X和Y座標代表的起始點和結束點: 或者用兩個Point作為參數也可以: ③如下

Head First C# 中文版 第13章 控制項和圖形 page596

 在表單上繪製一張圖片我們來建立一個表單應用,當你點擊表單的時候,表單上會繪製出一張圖片。如下做:①從給表單添加Click事件處理方法開始事件處理方法從一個using語句開始。你使用GDI+的時候,會用到很多實現了IDisposable介面的對象。如果你不處理這些對象,它們會耗費你的電腦資源,直到你關閉程式為止。所以你需要很多using語句: ②注意在表單上繪製的順序我們需要天藍色的背景,所以首先繪製一個藍色矩形,後面的圖形都要繪製在其上。你需要用到表單的ClientRectangle屬性,它指

Head First C#中文版(第三頁)

C#和Visual Studio IDE讓很多事情變得簡單使用C#和VS,你就得到了所有那些優秀的特性,無需做任何額外的工作。這些特性使得你可以:快速構建應用。用C#建立程式是小菜一碟。C#好學而且強大,VS又可以自動為你完成很多工作。你可以把俗氣的代碼交給VS去完成,自己把精力集中在要完成的事上。設計美觀的UI。VS的表單設計器是最易用的設計工具。它為你完成許多事情,你簡直就會覺得建立很炫的UI是開發C#應用中最令人滿足的事兒。你可以建立功能完善的、專業的程式,而無需花費數小時從零開始的去寫G

Head First C# 中文版 第13章 控制項和圖形 page578

 使用UseControl是一種建立控制項的好方式有一種建立控制項的簡單方法,使用IDE向項目中添加一個UserControl。UserControl的使用就和表單很類似,你可以把工具箱中的控制項拖拽上去,也可以使用IDE的表單設計器。也可以像使用表單一樣的使用其中的事件。我們來用UserControl重建BeeControl吧。如下做:①在IDE中右擊BeeControl.cs並把它重新命名為OldBeeControl.cs。②右擊項目添加一個UserControl,IDE將會在一個表單設計器

Head First C# 中文版 第13章 控制項和圖形 page582

 向項目中添加田園和蜂巢表單把BeeControl添加到項目中去。再添加兩個表單。 搞明白你的位置在哪兒你需要搞明白蜂巢處於Filed表單的什麼位置。使用屬性視窗給MouseClick事件建立一個處理方法,添加如下代碼: 現在運行程式,點擊蜂巢所在位置將會給出你蜂巢所在位置的座標:給蜂巢表單添加同樣的處理方法,並運行。讓它擷取出口,育嬰室和蜂蜜工廠。你可以用這些位置來更新上一章中Hive類內的ResetLocation()方法。

Head First C# 中文版 第13章 控制項和圖形 page579

 因為表單替你完成了工作IDE替你覆寫了Dispose()方法,當表單要釋放的時候,它將會釋放Controls集合中的所有控制項。而現在你要自己建立控制項或者把控制項從集合中移除了,你就要自己負責釋放它們。 問:為什麼表單中對應於基於PictureBox的BeeControl的代碼同樣適用於基於UserControl的BeeControl?答:因為代碼並不管BeeControl是如何?的。只要可以把它加入到表單的Controls集合中去即可。問:雙擊OldBeeControl類的時候,會出現一個

Head First C# 中文版 第13章 控制項和圖形 page580

 渲染器使用BeeControl來在你的表單上繪製會動的蜜蜂 有了一個BeeControl和兩個表單,你現在只需要一種方式來放置蜜蜂,把它們從一個表單移動到另一個表單,並記錄其存在。你也需要在FiledForm上放置花朵,不過花朵不會動,這就很簡單了。這些代碼都可以放入一個新類中,Renderer。下面是該類的職責: ①統計資料表單將會是蜂巢表單和闐園表單的父表單 向項目中添加兩個表單,HiveForm和FiledForm。然後在主表單的構造方法中添加代碼來顯示其子表單並告知Windows統計資

Head First C# 中文版 第13章 控制項和圖形 page597

 ⑤添加一個指向花朵的箭頭Graphics有一些方法接受Point數組,並用直線或者曲線把它們串連起來。我們將使用DrawLines()方法來繪製箭頭,用DrawCurve()方法繪製箭杆。 ⑥添加一個字型來繪製文本繪製文本的時候,首先需要建立Font對象。Font實現了IDisposable介面,所以需要使用using語句。Font有多個重載過的構造方法--最簡單的一個接受字型名,字型大小和一個FontStyle枚舉。 ⑦添加寫著“Nectar here”的文本你已經有一個字型了,現在就可以搞

Head First C# 中文版 第13章 控制項和圖形 page581

 ④蜜蜂和花朵已經知道自己的位置了我們用Point儲存蜜蜂和花朵的位置是有原因的,這樣我們可以根據Bee對象的位置來設定它對應的BeeControl的位置: ⑤如果某隻蜜蜂沒有對應的控制項,渲染器會去把它添加到蜂巢表單中去渲染器類可以很簡單那的通過字典的ContainsKey()方法來查詢出一個Bee對象是否有一個對應的Beecontrol。如果沒有渲染器會建立一個BeeControl,把它添加入字典並添加到表單中去。(它還會調用控制項的BringToFront()方法,以免蜜蜂會被花朵的Pic

Head First C# 中文版 第13章 控制項和圖形 page593

 映像資源是儲存在Bitmap對象中的圖形檔案被包含在項目中的時候,它們會怎麼被處理?你已經知道可以通過Properties.Resources來訪問它們。但是它們到底會怎麼被處理?.NET把圖片以Bitmap對象的形式返回給你: 然後每一個Bitmap被繪製到螢幕上映像被儲存在Bitmap之後,表單可以通過如下的調用來把它們繪製到螢幕: 圖片越大,就...注意到DrawImage()方法的後兩個參數了嗎?如果圖片是175x175呢?那麼圖形庫就必須把圖片縮放為150x150。如果圖片大小為15

Head First C# 中文版 第13章 控制項和圖形 page594

 使用System.Drawing來自己處理圖形Graphics屬於System.Drawing命名空間。.NET架構中有很多比工具箱中的PictureBox更強大的工具。你可以繪製圖形,使用字型,進行複雜的圖形計算...這些都從Graphics對象開始。你想要添加或者修改任何東西的圖形或者映像的時候,你都需要建立一個與該對象相關的Graphics對象,然後使用Graphics對象的方法來在目標上繪製。①從一個你想要繪製的對象開始以一個表單為例。調用表單的CreateGraphics()方法將會

Head First C#中文版 圖文皆譯 (page5)

在開始構建程式之前瞭解使用者的需求在開始寫這個通訊錄的程式--或者是任何的程式--之前我們要花點時間去想想誰會去用這個程式,他們需要這個程式做什嗎?1.CEO需要在工作的時候用這個通訊錄程式,在他的膝上型電腦上也需要用。他需要一個安裝包來確保把所有的檔案都正確的安裝到這兩台電腦上。 2.Objectville Paper公司的銷售團隊也想要用CEO的通訊錄。他們需要CEO的資料來建立一個郵件清單,來獲得使用者、獲得更多的銷售額。CEO感覺到使用資料庫是讓全公司的人都可以看到他的資料的最佳途徑,然

設計模式–代理模式的簡單實現(C#)+類別關係圖

  using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    class Class1    {        public static void Main()        {            Proxy p = new Proxy();            p.DoYourStuff();           

Head First C#中文版 圖文皆譯 (page11)

問:如果IDE為我寫了那麼多代碼的話,學C#就是學怎麼用IDE嘍?答:不,IDE在自動產生代碼方便很棒,但是它也只能做那麼多了。有些事情它確實很在行,比如為你設定好的起點,自動改變表單上控制項的屬性。但是編程中最難的部分--分辨出你的程式需要做什麼而且讓它去做--是任何IDE都做不到的。即使VS是最先進的IDE之一,它也只能做那麼多了。寫關鍵代碼的是你而不是IDE。問:我在VS裡面建立一個項目,但是進入“My Documents”下的“Projects”檔案夾的時候,卻沒有發現它。怎麼回事?答:

裝飾模式的簡單實現(C#)內有圖一張,嘿嘿…..

 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    class Class1    {        public static void Main()        {        Person p = new Person("張三");        Ring r = new Ring();       

策略模式的簡單應用(C#)

 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{   abstract  class OperSuper    {       public  abstract   double GetResult(double a,double b);    }    class Add:OperSuper     {       

探討C#中的實體驗證(Entity Validation)

探討C#中的實體驗證(Entity Validation)環境:Windows 2008, VS 2008 SP1, Asp.Net Mvc 1.0一. 可能是最原始的驗證代碼為了讓問題盡量簡單,我們就拿一個簡單得不能再簡單的User類開刀吧。現在我們要在User類裡面加一個方法用於驗證User執行個體的合法性,相信很多人寫過如下類似的代碼:Check()方法很單純的為User類的屬性應用各種規則,然後返回非法的提示資訊集。驗證的時候只是簡單的調用一下實體的Check()方法即可:好吧,我承認,

簡單工廠的最最簡單應用(C#)

 簡單工廠的最最簡單應用 using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            Calculate cal = factory.CreateOper ("-");  

C# 學習資源下載

C# 學習資源下載C#開發編碼規範.docC#進階編程(第二版).pdfC#進階編程(第三版)英文版.pdfC#設計模式.pdfC#進階編程技術.pdfC#文檔中文版(微軟).pdfC#教程.pdf一個小的建議:《C#進階編程(第四版)(Professional C#

C#語言參考

C#語言參考目錄1. 介紹    11.1 Hello, world    11.2 類型    21.2.1 預定義類型    31.2.2 轉換    51.2.3 數群組類型    61.2.4 類型系統一致    71.3 變數和參數    81.4 自動記憶體管理    111.5 運算式    131.6 聲明    141.7 類    171.7.1 常數    191.7.2 域    191.7.3 方法    201.7.4 屬性    211.7.5 事件    221.

總頁數: 4314 1 .... 1369 1370 1371 1372 1373 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.