C#2014(第四章 設置與資源)_第1頁
C#2014(第四章 設置與資源)_第2頁
C#2014(第四章 設置與資源)_第3頁
C#2014(第四章 設置與資源)_第4頁
C#2014(第四章 設置與資源)_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C# C# 程序設計程序設計天津師范大學 | 軟件學院 1第一章 開發環境第二章 語法元素第三章 布局與自定義控件第四章 設置與資源第五章 線程第六章 菜單與對話框第七章 委托與事件第八章 圖像與動畫第九章 網絡通信*C# C# 程序設計程序設計天津師范大學 | 軟件學院 2應用程序設置 在應用程序啟動時,也許需要從某個配置文件中讀取各種參數用于本次的運行,比如程序的標題,并發連接的數量,默認的登錄名等。 用于管理這些參數的文件稱為配置文件,與其相關的一些操作稱為應用程序設置。資源 在應用程序運行時,會需要大量輔助材料,如文字、圖像等,這些統稱為資源。資源可以與程序分開放置,也可以綁定到一個文

2、件中。 除非特殊情況,建議大家采用綁定資源的方式,這樣在使用資源時可以極大避免與存儲設備打交道所引起的程序異常。*C# C# 程序設計程序設計天津師范大學 | 軟件學院 34.2.1 配置文件 程序啟動時,其內的控件的屬性值來自于一個配置文件。也就是說,修改配置文件可以導致不同的程序外觀。 每個應用程序都可以附帶一個 .config 文件。當程序啟動時,.NET 系統會自動搜索與程序同名的后綴為 .config 的文件并加載。 .config 文件內容以 xml 格式存儲。如: C# C# 程序設計程序設計天津師范大學 | 軟件學院 44.2.1 配置文件 程序啟動時,其內的控件的屬性值來自于

3、一個配置文件。也就是說,修改配置文件可以導致不同的程序外觀。 使用 .config 文件的值用于程序的示例如下:using System.Configuration;public MyForm() InitializeComponent(); AppSettingsReader r = new AppSettingsReader(); object o = r.GetValue(Opacity, typeof(double); this.Opacity = (double)o; C# C# 程序設計程序設計天津師范大學 | 軟件學院 54.2.2 動態屬性 當需要應用程序自動應用多個設置值時,

4、可使用控件的動態屬性。控件的動態屬性可以在啟動程序后自動從 .config 文件里讀取相應的值。 選擇控件的 ApplicationSettingsApplicationSettings 屬性下的 PropertyBindingPropertyBindingC# C# 程序設計程序設計天津師范大學 | 軟件學院 64.2.2 動態屬性 當使用過動態屬性后 一個 app.config 文件放置在項目文件夾下。 生成程序后,會有一個以可執行文件為名、.config 為后綴的配置文件放置在輸出文件夾下。 動態屬性的值會覆蓋在屬性面板里設置的值。C# C# 程序設計程序設計天津師范大學 | 軟件學院

5、74.3.1 功能要求 線柱根據屬性值繪畫。 當點擊“排序”按鈕時,根據上面的文字執行不同的排序算法。 思路:為程序增加動態屬性: 線柱的靠邊位置:(LineBase,string)“Top”,Bottom “冒泡排序”按鈕的顯示文字:“選擇排序”和“插入排序”C# C# 程序設計程序設計天津師范大學 | 軟件學院 84.3.2 實現線柱的動態屬性 分析:為了可以設置線柱的靠邊屬性為動態屬性,需要先在 DemoPanel 中公布該屬性。string fLineBase = Bottom;public string LineBase get return fLineBase; set if (v

6、alue = Left | value = Bottom) fLineBase = value; C# C# 程序設計程序設計天津師范大學 | 軟件學院 94.3.2 實現線柱的動態屬性 分析:修改 Paint 事件將數組的值顯示到控件上的方法。private void DemoZone_Paint() / 事件面板自動生成事件面板自動生成 for (int i = 0; i fData.Length; i+) e.Graphics.FillRectangle( Brushes.Red, 3 * i, fLineBase = Top ? 0 : Height - fDatai, 2, fDat

7、ai ); / 思考:實現思考:實現 Left 和和 Right。可認為控件的寬高一致。可認為控件的寬高一致。C# C# 程序設計程序設計天津師范大學 | 軟件學院 104.3.2 實現線柱的動態屬性 分析:修改 Repaint 方法,根據 fLineBase 值更新本控件指定位置的圖像。 提示:由于 Top 和 Bottom 方法都是垂直方向的,所以此處 Repaint 方法其實并沒有改變。將來如果添加水平方向的值,比如 Left 和 Right,則此處需要修改具體代碼。public void RePaint(int i) Invalidate(new Rectangle(3 * i, 0,

8、 2, Height); Update();C# C# 程序設計程序設計天津師范大學 | 軟件學院 114.3.2 實現線柱的動態屬性 設置步驟: 選擇 dpMain 控件,在屬性窗口選擇 ApplicationSettings 下的 ProperyBinding 項; 在彈出的窗口中,選擇 LineBase 屬性,在下拉列表中選擇“新建”; 在彈出的窗口中的 Name 項中填寫“dLineBase”(此處的名字是任意的,這里用前綴 d 表示動態屬性)。 用同樣的步驟為 btnSort 按鈕的 Text 屬性創建一個名為“dSortMethod”的動態屬性。C# C# 程序設計程序設計天津師范

9、大學 | 軟件學院 124.3.3 實現按鈕的動態屬性 分析:修改 btnSort 的 Click 事件處理方法。 提示:需要提前實現 fSelect 和 fInsert 方法。此處應在 3.4.8 中完成。private void btnSort_Click(.) if (btnSort.Text = 冒泡排序冒泡排序) fBubble(); else if (btnSort.Text = 選擇排序選擇排序) fSelect(); else if (btnSort.Text = 插入排序插入排序) fInsert();C# C# 程序設計程序設計天津師范大學 | 軟件學院 134.3.3 實

10、現按鈕的動態屬性 設置步驟: 選擇 btnSort 控件,在屬性窗口選擇 ApplicationSettings 下的 ProperyBinding 項; 在彈出的窗口中,選擇 Text 屬性,在下拉列表中選擇“新建”; 在彈出的窗口中的 Name 項中填寫“dSortMethod” 。C# C# 程序設計程序設計天津師范大學 | 軟件學院 144.3.4 生成應用程序 生成程序,到輸出目錄內查找 .config 文件,修改其中的值后運行程序,查看不同的效果。C# C# 程序設計程序設計天津師范大學 | 軟件學院 154.3.5 驗證:(30分鐘) 練習:(45分鐘)添加幾個動態屬性 窗體的標

11、題 窗體的透明度(可自己查查窗體的各個屬性,那個是呢?)C# C# 程序設計程序設計天津師范大學 | 軟件學院 164.4.1 命名的資源 資源是綁定在 exe 或 dll 內部的被命名的數據塊。這個數據塊的內容可能是一個圖像、一個聲音、一段文本的二進制形式。 以下代碼使用一個圖片作為窗體的背景,并在程序運行時,動態加載。 這段代碼訪問的圖片文件為磁盤上的文件,在運行時不能保證肯定存在,如果文件不存在。如果沒有保護代碼(如異常處理),則程序崩潰。即便有保護代碼,此時也只能以實色填充背景。public MyForm() InitializeComponent(); BackgroundImage

12、 = Image.FromFile(D:bg.jpg);C# C# 程序設計程序設計天津師范大學 | 軟件學院 174.4.1 命名的資源 資源是綁定在 exe 或 dll 內部的被命名的數據塊。這個數據塊的內容可能是一個圖像、一個聲音、一段文本的二進制形式。 使用資源可以避免上述問題。添加資源的方法如下: 查看項目的屬性,并切換到“資源”標簽C# C# 程序設計程序設計天津師范大學 | 軟件學院 184.4.1 命名的資源 資源是綁定在 exe 或 dll 內部的被命名的數據塊。這個數據塊的內容可能是一個圖像、一個聲音、一段文本的二進制形式。 使用資源可以避免上述問題。添加資源的方法如下:

13、選擇資源類型:如“圖像”; 選擇添加方法:如“添加現有文件”; 給添加的資源命名:如 MyBackGround; 關閉項目屬性窗口。C# C# 程序設計程序設計天津師范大學 | 軟件學院 194.4.1 命名的資源 資源是綁定在 exe 或 dll 內部的被命名的數據塊。這個數據塊的內容可能是一個圖像、一個聲音、一段文本的二進制形式。 在代碼中使用資源 每個項目都有一個隱含的命名空間 Properties。該空間下有一個Resources 類,用于管理所有添加的資源,并通過名字直接訪問指定資源。代碼如下public MyForm() InitializeComponent(); Backgro

14、undImage = Properties.Resources.MyBackGround;C# C# 程序設計程序設計天津師范大學 | 軟件學院 204.4.2 練習:(15分鐘)為排序演示器添加一個圖片資源,運行時,以此圖片作為整個窗體的背景。C# C# 程序設計程序設計天津師范大學 | 軟件學院 21練習: 1、(45 分鐘)在解決方案 Clock 中: 添加新的窗體項目 Clock02,實現并擴展石英鐘: 采用應用程序設置的方式確定表針的顏色值、長度,表盤的顏色值,大小刻度的顏色和直徑,以及是否需要掃秒效果。 采用動態屬性的方法,確定窗體的大小、標題、是否置頂等設置。C# C# 程序設計

15、程序設計天津師范大學 | 軟件學院 22在文件夾中創建一個空白解決方案,方案名稱為 Test。在 Test中添加新的控制臺應用程序 Console01,具體要求如下:(1)添加一個類文件 MyTool.cs,在其中定義一個名為 MyTool 的類。在其中定義一個靜態方法 ShowPairs。ShowPairs方法包含兩個字符數組參數(一個為純小寫字母字符串,一個為純數字字符串)。功能為將這兩個字符數組中的所有字符,依次實現類似天干地支方式的配對(字母在前,數字在后),配對應能實現完整的一個循環。(2)添加一個類文件 Exceptions.cs,在其中定義兩個異常類RepetitionalCharException和InvalidCharException。具體的異常信息可自定義。(3)在 MyTool.cs中再添加一個靜態方法GetChars。該方法,接收一個字符串,并返回兩個字符串(利用參數)。接收的字符串是一個字母和數字混合的字符串,返回的兩個字符串,一個是拆分出的小寫字母字符串,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論