Tài liệu Các Ứng Dụng Của Windows tập 2 docx

33 341 0
Tài liệu Các Ứng Dụng Của Windows tập 2 docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Windows Forms Hầu hết ứng dụng Windows Form mở rộng chức System.Windows.Forms Chức lớp Form khơng thể tạo cửa sổ sống tương tác môi trường Windows cách đắn Đây thuận lợi điểm khởi đầu việc mở rộng lớp Form thêm control tuỳ biến điều khiển kiện tuỳ biến, ứng dụng hữu ích tạo để tương tác với người dùng liệu thông qua giao diện người dùng tinh vi Chúng ta xem xét cách tiến trình làm việc theo hai cách Để hiểu tốt cách mà Windows Forms hoạt động cách tương tác với NET Framework, xây dựng ứng dụng Window hồn tồn mà khơng sử dụng Visual studio.NET Nó cung cấp cho bạn đánh giá mạnh mẽ Visual studio.NET chuyển đến xây dựng ứng dụng Window Form sử dụng VS.NET cho phép nhà phát triển tạo ứng dụng Window Form nhanh hiệu Windows Forms không sử dụng Visual Studio NET Hầu hết ứng dụng Window Form mở rộng lớp System.Windows.Form để tuỳ chỉnh thêm nguyên lý kinh doanh Vì thế, ứng dụng Windows Form đơn giản trình bày bên dưới: using System; using System.Windows.Forms; namespace WindowsFormsApp { class MyForm : Form { static void Main(string[] args) { MyForm aForm = new MyForm(); Application.Run(aForm); } } } Để xem vấn đề hành động, bạn lưu đoạn mã với tên BasicForm.cs, sau biên dịch chạy Khi bạn thấy kết sau: Khi ứng dụng chạy, cửa sổ mở Chú ý cửa sổ hành động giống cửa sổ chuẩn thu nhỏ, mở to, kéo đi, hay đóng lại Nó ứng dụng Window đầy đủ chức 13 dòng mã Hãy xem đoạn mã để hiểu xảy trước ta thấy điều thú vị sau class MyForm : Form Dòng lớp thừa hưởng từ lớp System.Windows.Forms.Form, có nghĩa chúng giành truy cập đến tất chức lớp Form Tiếp đến, ý phương thức Main() tạo thể đối tượng MyForm chuyển đến phương thức Application.Run(): static void Main(string[] args) { MyForm aForm = new MyForm(); Application.Run(aForm); } Application lớp static System.Windows.Forms namespace, chứa phương thức để bắt đầu dừng ứng dụng luồng Phương thức Run() chấp nhận vài tham số; việc truyền vào đối tượng Form báo hiệu với NET Framework bắt đầu xử lý tin nhắn Window cho form này, để thoát khỏi ứng dụng form đóng Các Control Hãy thêm control đơn giản Button vào form Chúng ta thấy kiện bao quát hơn, xem xét làm để thêm control vào ứng dụng Window Form không dùng Visual studio.NET Về bản, control form thành phần liệu lớp custom Form Vì thế, để thêm Button vào form, thêm thành phần liệu Button vào lớp MyForm Thêm dòng sau vào tập tin BasicForm.cs: class MyForm : Form { //Data member to hold Button control private Button BigButton; Trước thành phần liệu làm điều hiển thị nút form phải khởi tạo thuộc tính khác Button phải định hình Nó nên thực constructor cho đối tượng MyForm Tại thời điểm cài thuộc tính cho đối tượng Form, size name Chú ý có nhiều thuộc tính cài thực Vì constructor thời điểm tốt để thực khởi tạo giá trị Thêm khối mã sau vào constructor MyForm: public MyForm() { //Set the properties for the Button BigButton = new Button(); BigButton.Location = new System.Drawing.Point(50, 50); BigButton.Name = "BigButton"; BigButton.Size = new System.Drawing.Size(100, 100); BigButton.Text = "Click Me!"; //Set properties of the Form itself ClientSize = new System.Drawing.Size(200, 200); Controls.Add(BigButton); Text = "My Windows Form!"; } Đoạn mã khởi tạo đối tượng Button ấn định vào thành phần liệu riêng BigButton Nó sau cài thuộc tính Location, Name, Size, Text để với giá trị thích hợp Bất kỳ thuộc tính khơng cài lấy giá trị mặc định Những dòng cài kích cở form, sau phương thức this.Controls.Add() gọi để thêm control Button vào tập hợp Controls form Việc yêu cầu trước nút hiển thị form Tập hợp Controls chứa tất control form cập nhật sửa đổi tự động thời gian chạy để thêm xoá control cần Chúng ta xem xét cách chúng thực phần sau chương Nếu bạn chạy ứng dụng điểm này, bạn thấy cửa sổ sau: Tuy nhiên, khơng có xảy nút click Để thay đổi cần thêm kiện vào đoạn mã Các kiện (event): Mỗi đối tượng ứng dụng Windows Form có tập kiện Nếu bạn muốn có đoạn mã thực điều kiện xảy ra, bạn nên thêm điều khiển kiện(event handler) vào lớp kết hợp với đối tượng Để Windows Forms sử dụng đoạn mã bạn, bạn phải truyền cho vị trí phương thức điều khiển kiện đoạn mã bạn Bạn thực cách tạo thể delegate thích hợp kết hợp với phương thức lớp custom Form Để thêm vài chức cho nút đó, ta cần thêm vài dịng mã vào lớp Thêm phương thức sau vào lớp Form Nó hành động điều khiển kiện cho kiện Click nút Chú ý điều khiển kiện gọi đối tượng Sự kiện control tự định nghĩa tham số cho phù hợp với điều khiển static void Main(string[] args) { MyForm aForm = new MyForm(); Application.Run(aForm); } private void ClickHandler(object sender, System.EventArgs e) { MessageBox.Show("Clicked!","My Windows Form",MessageBoxButtons.OK); } Hầu hết điều khiển kiện Windows Forms có dạng phương thức Thơng số chứa đối tượng khởi kiện Trong trường hợp đối tượng Button từ lớp MyForm Thông số chứa liệu kiện thông số System.EventArgs hay lớp thừa hưởng Lớp System.EventArgs khơng chứa liệu- Nó hành động lớp sở Nếu kiện phải truyền liệu đến client phải sử dụng lớp thừa hưởng Sự kiện Button.Click không cần truyền thơng tin thêm vào, sử dụng lớp System.EventArgs sở Cuối cùng, thêm đoạn mã sau vào constructor MyForm để kiện gắn điều khiển kiện vào kiện lớp MyForm public MyForm() { //Set the properties for the Button BigButton = new Button(); BigButton.Location = new System.Drawing.Point(50, 50); BigButton.Name = "BigButton"; BigButton.Size = new System.Drawing.Size(100, 100); BigButton.Text = "Click Me!"; BigButton.Click += new EventHandler(ClickHandler); //Set properties for the Form itself ClientSize = new System.Drawing.Size(200, 200); Controls.Add(BigButton); Text = "My Windows Form!"; } Ví dụ trình bày cách Windows Form sử dụng delegates để wrap phương thức đối tượng trước ấn định vào kiện muốn vận dụng System.EventHandler delegate sử dụng để tham khảo phương thức ClickHandler() liên kết với kiện Click nút cách thêm vào điều khiển kiện Click Chú ý cú pháp sử dụng - có nghĩa điều khiển kiện thêm vào liên kết với kiện đơn Chúng xử lý để chúng thêm vào điều khiển kiện Biên dịch ứng dụng lại, chạy Lúc click nút bạn thấy hộp tin nhắn nhỏ Thực thi ứng dụng Windows Form sử dụng Visual Studio NET Giống NET, sử dụng Visual studio.NET tạo ứng dụng Windows Form đơn giản nhiều Visual studio.NET giảm số lượng mã rắc rối mà nhà phát triển phải viết, cho phép nhà phát triển tập trung vào giải vấn đề kinh doanh Hãy xem cách tạo ứng dụng Window Forms đơn giản sử dụng Visual studio.NET Chúng ta tạo hình thực thể liệu đơn giản cho hệ thống quản lý thông tin cá nhân hư cấu Loại hình gắn vào số form sở liệu sử dụng để lưu trữ liệu cá nhân Chúng ta xem xét cách để tạo tầng giao diện người dùng chương Tạo dự án Windows Application C# Visual studio.NET với tựa đề SimpleDataEntry Sau dự án tạo, bạn thấy form đơn giản Visual Studio.NET hình thiết kế Màn hình thiết kế dùng để thêm control vào form Click phải tập tin Form1.cs Solution Explorer chọn View Code Nó hiển thị mã phát form hiển thị hình thiết kế Nhìn qua đoạn mã Với việc thêm vào vài tiêu chuẩn, mà Visual studio.NET biên dịch phương thức InitalizeComponent(), đoạn mã nhìn giống với ứng dụng Windows Forms ban đầu Chú ý cách dùng Application.Run phương thức Main, thật lớp Form thừa hưởng từ System.Windows.Forms.Form Phương thức InitializeComponent() dùng Visual studio.NET để xây dựng Form thời gian chạy Tất control thuộc tính mà nhà phát triển cài suốt thời gian thiết kế cài thời gian chạy phương thức Khi có thay đổi tạo cho Form thời gian thiết kế, Visual Studio.NET cập nhật phương thức Quay lại hình thiết kế để thêm vài control vào form để làm cho hữu dụng thú vị Chú ý bạn chọn form, cửa sổ properties cài đặt thuộc tính khác control ứng dụng Windows Forms Nó phận quan trọng Visual studio.NET IDE, sử dụng dễ tìm kiếm tên thuộc tính, control tài liệu NET Có số nút đầu cửa sổ Hai thay đổi cách mà thuộc tính hiển thị Nhóm hiển thị mục chọn phạm trù luận lý, tất thuộc tính với hình thức, cách cư xử, thiết kế vân vân Nút thứ hai xếp tất thuộc tính theo thứ tự alphabe Hai nút chốt vào hiển thị thuộc tính kiện Chúng ta bàn luận kiện cách thêm chúng vào control tiếp Nút cuối mở trang thuộc tính dự án này: Cài thuộc tính sau form cách sửa đổi chúng trực tiếp cửa sổ Properties: Property Text Value Data Entry Form Property Size (Name) StartPosition Value 300, 220 frmMain CenterScreen Các cài đặt tạo cửa sổ 300 tới 220 pixel hình Thuộc tính Name thuộc tính quan trọng tất controls Giá trị dùng tên đối tượng biến thành viên lớp, dùng để tham khảo đế control đoạn mã Bây thêm hai control Button vào form Cài thuộc tính hai control Button sau: Property (Name) Location Size Text button1 Value btnSave 125, 157 78, 25 Save button2 Value btnCancel 210, 157 78, 25 Cancel Ở thay đổi tên mặc định Button đến giản đồ đặt tên chuẩn hơn, định vị chúng vào vị trí muốn chúng Form1 Quay hình mã để xem xét Visual studio.NET làm suốt thời gian Bạn thấy phần thêm hai biến thành viên lớp Form Nếu bạn mở rộng vùng tiêu đề "Windows Form Designer generated code" bạn thấy phương thức InitializeComponent(), nơi mà tất control form khởi tạo định hình xác Phương thức gọi constructor form Tiếp thêm ba control TextBox ba Control Label Next vào Form Gán thuộc tính sau: Property (Name) Location Size Text TextBox1 txtFName 97, 25 115, 20 TextBox2 txtLName 97, 61 115, 20 TextBox3 txtSSN 97, 99 115, 20 (Blank) (Blank) (Blank) Label1 label1 20, 25 70, 18 First Name: Label2 label2 20, 62 70, 18 Last Name: Label3 label3 20, 99 70, 18 SSN: Bạn nên có Form giống hình thực thể liệu thơng tin người dùng Một end-user sử dụng hình để nhập tên đầu cuối chúng Social Security Number Tại lúc Form1 giống sau: Các kiện (event): Các ứng dụng Windows event-driven không thêm mã, đáp ứng kiện Visual studio.NET tạo đơn giản cách thêm mã đáp ứng kiện phát sinh ngừơi dùng hệ thống Cửa sổ Properties cập nhật để phản ánh tồn danh sách kiện điều khiển từ đối tượng Để thấy danh sách này, chọn nút thứ tư từ bên trái Nó hiển thị danh sách kiện cho đối tượng chọn, chọn đối tượng có liên kết mã với chúng Màn hình bên dãy kiện đối Form chọn Việc thêm kiện vận dụng hai cách Để thêm kiện mặc định cho control cách click đơi lên hình thiết kế Cách khác để thêm điều khiển kiện vào đoạn mã bạn tuỳ chọn bạn không thêm kiện mặc định, cách sử dụng cửa sổ Properties Một lần nữa, đoạn mã pluming chèn vào lớp Form bạn lấy điều khiển kiện cho kiện chọn Chú ý cửa sổ Properties, bạn phải làm bạn có nhiều nút mà tất chúng làm việc giống yêu cầu xử lý Hãy thêm vài đoạn mã điều khiển kiện hai control Button Thêm điều khiển kiện Click vào hai Buttons tồn Thêm đoạn mã sau vào tập tin: private void btnSave_Click(object sender, System.EventArgs e) { SaveFile(); } private void btnCancel_Click(object sender, System.EventArgs e) { Clear(); } private void SaveFile() { //Save the values to an XML file //Could save to data source, Message Queue, etc System.Xml.XmlDocument aDOM = new System.Xml.XmlDocument(); System.Xml.XmlAttribute aAttribute; aDOM.LoadXml(""); //Add the First Name attribute to XML aAttribute = aDOM.CreateAttribute("FirstName"); aAttribute.Value = txtFName.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Add the Last Name attribute to XML aAttribute = aDOM.CreateAttribute("LastName"); aAttribute.Value = txtLName.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Add the SSN attribute to XML aAttribute = aDOM.CreateAttribute("SSN"); aAttribute.Value = txtSSN.Text; Thực thi ứng dụng với menu Dialogs Dialogs kiểu đặc biệt Form để lấy thông tin người dùng tương tác với ngừơi dùng ứng dụng Window Có tập hộp dialog định nghĩa trước để lấy thông tin vị trí tập tin, màu sắc, cài đặt máy in Một ứng dụng tuỳ biến thường sử dụng hộp thoại dialog để thuận tiện chọn liệu từ endusers Tạo hộp dialog giống với tạo Form chuẩn Trên thực tế, tiến trình xử lý dùng để thêm vào dự án Visual studio.NET Sự khác liệt kê FormBorderStyle, phải cài Fixel Dialog Nó tạo cửa sổ khơng lớn ngun nhân giống với hộp dialog Window Nó thực hành Window chuẩn để huỷ ControlBox, MinimizeBox, MaximizeBox từ hộp dialog, thuộc tính nên cài false cửa sổ properties Bất kỳ control Windows Forms chuẩn tồn hộp dialog Bề mặt thiết kế Visual studio.NET dùng để thiết kế Form chuẩn, tuỳ chọn giống dùng cho nhà phát triển Modal vs Modeless Khi muốn hiển thị hộp dialog, có hai chọn lựa: modal hay modeless Hai khái niệm cách dialog tương tác với ứng dụng Một modal dialog ngăn chận luồng yêu cầu người dùng trả lời vào hộp dialog trứơc tiếp tục với ứng dụng Một Modeless dialog giống cửa sổ chuẩn Dialog Box Results Thường quan trọng để hiểu cách người dùng đóng hộp dialog Một ví dụ điển hình dialog File Open Nếu người dùng chọn tập tin hành động cho ứng dụng load tập tin đó, nhiên người dùng click nút Cancel hay đóng hộp dialog ứng dụng khơng load tập tin Bí để hiểu cách người dùng tương tác với hộp dialog bảng liệt kê DialogResult Các giá trị cho bảng liệt kê sau: Value Abort Cancel Description Giá trị trả người dùng chọn nút có nhãn Abort Trong trường hợp này, người dùng muốn huỹ thao tác không lưu thay đổi Giá trị thường trả người dùng chọn nút có nhãnlà Value Ignore No Yes None OK Retry Description Cancel, đóng hộp thoại cách nhấn nút "x", hay nấn phím Esc Người dùng muốn huỹ thay đổi trả trạng thái trước mở hộp thoại Giá trị trả người dùng chọn nút có nhãn Ignore Giá trị sử dụng ứng dụng cảnh báo người dùng điều kiện xảy lỗi, người dùng chọn lệnh Ignore Giá trị thường trả người dùng chọn nút có nhãn No Nó bình thường hộp thoại dùng để hỏi người dùng câu hỏi es/no Giá trị thường trả ngừời dùng chọn nút có nhãn Yes Nó trỏ đếm đến kết trả Nó dùng tình Khơng có trả từ hộp thoại Giá trị đươc trả người dùng chọn nút có nhãn OK Nõ bình thường hộp thoại tin cảnh báo nơi quan cho người dùng thừa nhận thông tin Giá trị trả người dùng chọn nút có nhãn Retry Nó có ích thao tác khơng thành cơng thành công thử lại Để truy cập vào giá trị bạn phải sử dụng thuộc tính DialogResult Form Thuộc tính public truy cập người dùng đóng hộp dialog Mở Dialog Có hai cách để mở hộp dialog, hiển thị modal hiển thị modeless Để dialog modal dialog, sử dụng phương thức sau: DialogResult Form.ShowDialog() Phương thức phận lớp Form Phương thức chấp nhận khơng có tham số đối tượng Form tham số Đối tượng Form đại diện cho ower hộp dialog, hộp có ích tất đối tượng Form có trỏ quay cha mẹ chúng, cho phép hộp dialog lấy cài liệu vào cha mẹ Cịn khơng tham số truyền mặc định cửa sổ vào cha mẹ Chú ý phương thức trả giá trị bảng liệt kê DialogResult Phương thức ngăn chặn thực thi, mã sau thực thi người dùng đóng hộp dialog Khi việc xảy DialogResult mã trả ứng dụng tiếp tục xử lý Đoạn mã sau: if (aDialogObject.ShowDialog() == DialogResult.Yes) { //User selected Yes //Use the properties of the aDialogObject to perform actions } else { //User selected No – not perform action } Đoạn mã hiển thị hộp dialog để hỏi ngừơi dùng họ muốn lưu tập tin Nếu ngừời dùng chọn Yes đoạn mã thả vào khối if chọn No khối else thực thi Common Dialogs NET Framework cung cấp truy cập đến common dialog thông qua lớp sau Mỗi lớp tượng trưng common dialog hiển thị hộp dialog Tất lớp tồn System.Windows.Forms namespace: Class ColorDialog FontDialog OpenFileDialog SaveFileDialog PageSetupDialog PrintDialog PrintPreviewDialog Description Nó cho phép ngừơi dùng chọn màu từ bảng màu Hộp dialog hiển thị tất font có hệ thống cho phép người dùng chọn để dùng ứng dụng Cho phép người dùng mở tập tin sử dụng hộp thoại mở tập tin chuẩn Nó cho phép người dùng chọn tập tin, thư mục hay địa mạng để lưu liệu ứng dụng Nó cho phép người dùng cài kích cỡ trang, canh lề, đặc tính in ấn khác Nó cho phép người dùng cài định dạng trang hành đặc tính in ấn qua hộp dialog thuộc tính in ấn chuẩn Nó hiển thị tài liệu xuất hiệnk máy in chọn với cài đặt trang hành Tất lớp thừa kế từ lớp System.Windows.Forms.CommonDialog, ngoại trừ lớp PrintPreviewDialog Lớp System.Windows.Forms.CommonDialog cung cấp chức yêu cầu hộp combox dialog Mọi lớp common dialog hiển thị sử dụng phương thức ShowDialog(), chúng chứa thuộc tính tuỳ biến sử dụng để định hình hỏi chức tuỳ biến chúng ColorDialog Dialog hiển thị hộp dialog màu sắc chung Nó hữu ích ngừơi dùng cho phép định dạng Form hay control, bạn muốn cung cấp chúng cách để chọn màu ưu tiên Thuộc tính dùng với lớp thuộc tính Color Nó chứa màu sắc chọn lựa hộp dialog trả điều klhiển cho ứng dụng Thuộc tính cấu trúc màu, chúng có lợi NET framework cần cấu trúc phương thức thuộc tính khác Một tiện lợi khác cho phép người dùng định nghĩa sử dụng tập màu sắc custom-defined Đặc trưng mặc định, bị ẩn cách cài thuộc tính AllowFullOpen giá trị false Như hộp dialog khác, giá trị trả từ ShowDialog() phải xem xét để hiểu cách người dùng thoát khỏi dialog Đây đoạn mã nhỏ sử dụng lớp này: ColorDialog aClrDialog = new ColorDialog(); aClrDialog.AllowFullOpen = false; aClrDialog.Color = this.BackColor; if (aClrDialog.ShowDialog() == DialogResult.OK) { this.BackColor = aClrDialog.Color; } aClrDialog.Dispose(); Chú ý bạn sử dụng hộp dialog ví dụ này, hay bạn thêm thành phần vào Form Visual studio.NEY Đoạn mã giống, lớp dialog có giá trị cho phương thức Form, tất thuộc tính cài thời gian thiết kế cửa sổ Properties FontDialog Lớp cho phép người dùng chọn kiểu font, size, color Nó hữu ích ứng dụng, dùng phép người dùng định dạng cách chọn kiểu font để hiển thị nhập liệu hình báo cáo Lớp chứa số lượng lớn thuộc tính mà cài để định hình chức hộp dialog : Property Color Description Thuộc tính lấy hay cài màu sắc font chọn Chú ý thuộc tính ShowColor phải true để hợp lệ Property Font MaxSize MinSize ShowApply ShowColor ShowEffects Description Đây thuộc tính quan trọng củ hộp dialog Nó trả cấu trúc Font mô tả việc chọn font người dùng Nó sau áp dụng vào đối tượng Control hay Form để thay đổi font Lấy cài kích cỡ điểm lớn mà mọt ngừơi dùng chọn hộp dialog Lấy hay cài kích cỡ điểm nhỏ mà người dùng chọn hộp dialog Thuộc tính Boolean cài true để hiển thị nút Apply Nếu dùng, điều khiển kiện viết để bắt sựu kiện Apply xảy Bởi người dùng chọ Apply, control không trả cho ứng dụng, điềukhiển kiện sau xử lý font thay đổi ứng dụng Thuộc tính Boolean cài true để hiển thị danh sách màu Nó cho phép ngừơi dùng chọn màu font kiểu hay kích cỡ Thuộc tính Boolean cài true phép ngừời dùng định tuỳ chọn strikethrough, underline, text color Một điều khiển kiện viết để trả lời kiện Apply kích người dùng ấn vào nút Apply FontDialog aFontDialog = new FontDialog(); aFontDialog.ShowColor = true; aFontDialog.ShowEffects = true; aFontDialog.MinSize = 1; aFontDialog.MaxSize = 35; aFontDialog.Font = SomeControl.Font; if (aFontDialog.ShowDialog() == DialogResult.OK) { SomeControl.Font = aFontDialog.Font; } aFontDialog.Dispose (); Đầu tiên khởi tạo đối tượng FontDialog() với vài cài đặt, có thuộc tính font SomeControl để mô tả đối tượng ta cập nhật Việc khởi tạo thuộc tính font tốt người dùng thấy font chọn hộp dialog, họ không lúng túng Nếu người dùng chọn OK FontDialog thuộc tính font SomeControl cập nhật để phản ánh font mà người dùng chọn OpenFileDialog Lớp hữu ích, nhiều ứng dụng yêu cầu người dùng điều hướng hệ thống tập tin để mở dùng tập tin liệu Dialog dialog Window chuẩn cho việc mở tập tin, người dùng nên làm quen với Lớp chứa nhiều thuộc tính dùng để cài hình thức cách cư xử hộp dialog Cả hai lớp lớp SaveFileDialog thừa kế từ lớp sở FileDialog Vì ngun nhân nhiều thuộc tính chia Thuộc tính trình bày bảng sau: Property CheckFileExists FileName FileNames Filter FilterIndex InitialDirectory Multiselect ReadOnlyChecked RestoreDirectory ShowHelp ShowReadOnly Title Description Cài thuộc tính true để làm cho hộp dialog hiển thị cảnh báo người dùng định tên tập tin không tồn Cách làm cho đoạn mã bạn kiểm tra đường dẫn Mặc định true Đây thuộc tính quan trọng dùng để cài khôi phục tên tập tin chọn hộp dialog tập tin Nếu Multiselect enabled, thuộc tính trả mảng tên tập tin mà người dùng chọn Nó cài chuỗi lọc tên tập tin, để xác định chọnlựa xuất hộp "Files of type" hộp dialog Chỉ mục lọc chọn hộp dialog tập tin Thư mục khởi tạo hiển thị hộp dialog tập tin Thuộc tính Boolean cài biết hộp dialog có cho phép tập tin bội có chọn hay khơng Mặc định false Thuộc tính Boolean cho biết check box đọc chọn Mạc định false Thuộc tính Boolean cho biết hộp dialog có trả lại thư mục tai trước đóng hay khơng Mặc định false Thuộc tính Boolean cho biết nút Help có hiển thị hộp dialog tập tin hay khơng Thuộc tính Boolean cho biết dialog có chứa check box đọc hay không.Mặc định false Tiều đề dialog tập tin hiển thị Lớp dùng để lấy tên tập tin hay nhiều tên tập tin từ người dùng Khi đựợc thực ứng dụng xử lý tập tin hay nhiều tập tin cho biết người dùng Thuộc tính Filter khố để cung cấp giao diện hữu ích cho người dùng Bằng cách thu hẹp tập tin hiển thị thích hợp vào ứng dụng hành, người dùng chắn để tìm tập tin xác Thuộc tính Filter chuỗi chứa tuỳ chọn lọc phức tạp Mọi filter chứa diện mạo tóm tắc, theo sau dọc ( | ) mẫu filter chuỗi tìm kiếm DOS Các chuỗi cho tuỳ chọn lọc khác phân biệt dọc Bạn thêm mẫu đa filter vào filter đơn cách phân kiểu tập tin với dấu chấm phẩy Ví dụ "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*" Đoạn mã sau tạo đối tượng OpenFileDialog, định hình số thuộc tính nó, hiển thị với người dùng phép họ chọn tập tin Ứng dụng sau sử dụng thuộc tính FileName hay FileNames để xử lý tham khảo đến tập tin hay tập tin OpenFileDialog aOpenFileDialog = new OpenFileDialog(); aOpenFileDialog.Filter = "Text Files (*.txt)|*.txt|Word Documents" + "(*.doc)|*.doc|All Files (*.*)|*.*"; aOpenFileDialog.ShowReadOnly = true; aOpenFileDialog.Multiselect = true; aOpenFileDialog.Title = "Open files for custom application"; if (aOpenFileDialog.ShowDialog() == DialogResult.OK) { //Do something useful with aOpenFileDialog.FileName //or aOpenFileDialog.FileNames } aOpenFileDialog.Dispose(); Hộp dialog có ba tuỳ chọn combo box "Files of Type" Một tuỳ chọn Text Files, khác Word Documents, thứ ba All Files SaveFileDialog Hộp dialog giống OpenFileDialog, thực tế chúng thừa hưởng từ lớp sở Các chức hộp dialog cho phép người dùng chọn nơi để lưu liệu Nhiều thuộc tính giống lớp OpenFileDialog; nhiên thuộc tính sau thành viên OpenFileDialog khơng tồn lớp SaveFileDialog: • • CheckFileExists Multiselect • • ReadOnlyChecked ShowReadOnly Nhưng, hai thuộc tính sau hợp lệ thành viên lớp SaveFileDialog: • • CreatePrompt OverwritePrompt Chú ý thuộc tính khác tạo kiểu, bao gồm thuộc tính Filter, Title, FileName Đoạn mã sau trình bày cách sử dụng lớp này: SaveFileDialog aSaveFileDialog = new SaveFileDialog(); aSaveFileDialog.Filter = "Text Files (*.txt)|*.txt|Word Documents" + "(*.doc)|*.doc|All Files (*.*)|*.*"; aSaveFileDialog.CreatePrompt = true; aSaveFileDialog.OverwritePrompt = true; aSaveFileDialog.Title = "Save file for custom application"; if (aSaveFileDialog.ShowDialog() == DialogResult.OK) { //Do something useful with aSaveFileDialog.FileName; } aSaveFileDialog.Dispose(); PageSetupDialog Hộp dialog dùng để cài định hướng lề trang Thuộc tính lớp Document Nó yêu cầu trước phương thức ShowDialog() gọi, ngoại lệ ném khơng gán giá trị Thuộc tính Document chấp nhạn đối tượng PrintDocument, đối tượng thành viên System.Drawing.Printing namespace Đối tượng cốt yếu cho tiến trình in ấn NET, tượng trưng trang mà ạôt ứng dụng in Bằng cách cài thuộc tính đối tượng sử dụng GDI+ để vẽ bề mặt nó, ứng dụng in máy in Ví dụ bên mơ tả cách hộp Dialog gọi sử dụng: PageSetupDialog aPageSetup = new PageSetupDialog(); System.Drawing.Printing.PrintDocument aDoc = new System.Drawing.Printing.PrintDocument(); aPageSetup.Document = aDoc; if (aPageSetup.ShowDialog() == DialogResult.OK) { //Do something useful with aPageSetup.Document; } aPageSetup.Dispose(); Đoạn mã tạo đối tượng PageSetupDialog mới, liên kết với đối tượng PrintDocument với hiển thị dialog PrintDialog Dialog dùng để chọn máy in, số lượng sao, trang để in tài liệu Như dialog trước, đối tượng yêu cầu đối tượng PrintDocument có hiệu lực để liên kết với thuộc tính Document trước hiển thị Đối tượng chứa thuộc tính khố sau: Property AllowPrintToFile AllowSelection AllowSomePages Document PrintToFile ShowHelp Description thuộc tính Boolean cài true để hiển thị checkbox "Print to file" trog dialog mặc định true Thuộc tính Boolean cài true phép in ấn phần hành Mặc định false thuộc tính Boolean cài true biết tuỳ chọn From Page To Page enabled Mặc định false Thuộc tính PrintDocument mơ tả bề mặt in ấn hành thuộc tính Boolean cài true biết checkbox "Print to file" checked diaog trả có thẻ check để thấy ngừơi dùng muốn ứng dụng in tài liệu vào tập tin Mặc định false Thuộc tính Boolean cài true biết nut Help nên hiển thị Mặc định false Giống lớp dialog thơng thường, thuộc tính định hình trước gọi phương thức ShowDialog() để hiển thị hộp dialog xác cho người dùng Đoạn mã dùng lớp giống với đoạn mã trước: PrintDialog aPrintDialog = new PrintDialog(); System.Drawing.Printing.PrintDocument aDoc = new System.Drawing.Printing.PrintDocument(); aPrintDialog.Document = aDoc; aPrintDialog.AllowSomePages = true; aPrintDialog.AllowSelection = true; if (aPrintDialog.ShowDialog() == DialogResult.OK) { //Do something useful with aPrintDialog.Document; } aPrintDialog.Dispose(); PrintPreviewDialog Lớp cung cấp cách nhanh chóng để giới thiệu khả duyệt trước in vào ứng dụng Lớp chấp nhận đối tượng PrintDocument thuộc tính Document nó, đoạn mã mà điều khiển việc in ấn mộtmáy in trả lại tài liệu cho hộp dialog Hộp dialog hỗ trợ co dãn, thu nhỏ, đánh số trang tập tuỳ chọn khác Thực thi ứng dụng với dialog Visual Inheritance NET Framework lấy khái niệm thừa kế cho phép nhà phát triển sử dụng để phát triển ứng dụng Windows Forms Một đối tượng Form thừa kế từ đối tượng Form khác, chiếm truy cập đến tất Buttons, TextBoxes, Menus Nó đặc trưng mạnh NET sử dụng để giảm số lượng mã yêu cầu cho việc tạo cửa sổ hình giống Khái niệm gọi visual inheritance Một Form luôn thừa kế từ System.Windows.Forms Có nghĩa truy cập đến tất thành phần liệu phương thức lớp Form Việc thực thi thừa kế yêu cầu nhà phát triển thừa hưởng đối tượng Form từ lớp Form tuỳ biến thay cho System.Windows.Forms Đó nguyên nhân tất control thuộc tính lớp Form tuỳ biến truyền qua lớp Form tạo Tuy nhiên, có vài điều quan trọng phải nhớ Cấp truy cập control khác phải hiểu, giống cấp truy cập thừa kế chuẩn Một thành phần liệu private khơng thể truy cập đối tượng bên đối tượng ban đầu Vì thế, control khơng đánh dấu protected hay public, lớp thừa hưởng không tham khảo đến control hay override phương thức control Sử dụng thừa kế trực quan có lợi thừa kế tạo số lượng lớn hình mà phải có thiết kế giống và/hoặc làm chức Một ví dụ điển hình hình thực thể liệu Nếu ứng dụng không cần nhập mẫu tin cá nhân, mà cịn thơng tin automobie, sử dụng thừa kế trực quan để định nghĩa kiểu thông thường phải chọn lựa tốt Hiển nhiên, muốn hình trơng giống nhau, vài control thay đổi Hãy sửa đổi ví dụ trước để sử dụng kỹ thuật Tạo Windows Application trongVisual Studio NET đặt tên VisualInheritance Thay đổi thuộc tính sau đối tượng Form1 mặc định Chúng ta tạo cửa sổ menu cung cấp cho ngứời dùng khả nhập mẫu tin cá nhân hay mẫu tin automobie • • • • • • FormBorderStyle – FixedDialog MaximizeBox – False MinimizeBox – False Size – 200, 200 StartPosition – CenterScreen Text – Main Menu Đặt hai control Form Định vị chúng cửa sổ, đặt nhãn Person Automobie, đặt tên btnPerson btnAuto Chúng ta thêm điều khiển kiện vào sau để mở Form thừa hưởng Bây thêm lớp Form Form không hiển thị trực tiếp, dùng kiểu trực quan form thừa hưởng Thêm Form vào ứng dụng cách chọn Project | Add Windows Form Bỏ qua tên mặc định chọn OK hộp dialog Visual studio.NET Sửa đổi thuộc tính sau Form để tạo kiểu trực quan • • • • • • • • Name – frmBase BackColor – White FormBorderStyle – FixedDialog MaximizeBox – False MinimizeBox – False Size – 250, 250 StartPosition – CenterScreen Text – Base Form Nó tạo hộp dialog trắng Bây thêm hai Buttons vào góc phải form Chúng hành động hai nút Save Cancel Bằng cách thêm chúng vào lớp chúng form thừa hưởng, bảo đảm giao diện người dùng thông thường Định vị hai nút góc phải cài thuộc tính: Button Button1 Button2 Name btnSave btnCancel Anchor Bottom, Right Bottom, Right Location 159, 151 159, 185 Modifiers Size Protected 75, 23 Protected 75, 23 Text Save Cancel Thuộc tính quan trọng phải ý Modifiers Nó cài mức cách ly lớp Button bên form Nó cài mức : public, protected, private, hay internal Sau chỉnh sửa thuộc tính cửa sổ Properties, xem xét đoạn mã để thấy khai báo hai đối tượng Button chỉnh sửa thành protected Nó quan trọng việc cho phép đối tượng Form thừa hưởng truy cập vào Buttons Các thành phần protected truy cập lớp thừa hưởng; chúng không truy cập đoạn mã bên Các Form thừa hưởng truy cập control khai báo với mức private mặc định Các buttons hiển thị Forms thừa hưởng, khơng có điều khiển kiện thêm, đối tượng truy cập từ lớp thừa hưởng Cuối sẳn sàn thêm Form thừa hưởng Tuy nhiên, Visual studio.NET yêu cầu lớp Form biên dịch đầu tiên, phải xây dựng dự án lần Khi hồn thành, chọn Project | Add Inherited Form Bỏ qua tên mặc định tập tin lớp cách click Open hộp dialog kết Tiếp chọn lớp Form để dùng Một hộp dialog hiển thị Form có giá trị dự án, cho phép bạn thừa hưởng lớp Form từ lớp chúng Chọn lớp frmBase click OK Một Form tạo, trơng giống lớp frmBase ban đầu Nó có BackColor trắng hai nút Save Cancel Thay đổi thuộc tính Text Form theo thơng tin cá nhân, thêm bốn control Label bốn control TextBox Thay đổi thuộc tính Text Label "First Name:," "Last Name:", "DOB:" "SSN:" Thay đổi thuộc tính Name control TextBox thành txtFName, txtLName, txtDOB, txtSSN, để trống thuộc tính Text Form trơng giống hình bên dưới: Lập lại tiến trình thêm Form thừa kế vào dự án Một lần thừa hưởng từ lớp frmBase Thời điểm thay đổi thuộc tính Text Form để thơng tin Automobie thuộc tính Name vào frmAuto thêm bốn Label vào Form với tựa : "Manufacturer:", "Model:", "Year:", "Color:" Thêm bốn control TextBox định vị bên cạnh Label, thay đổi thuộc tính Name thành txtManufact, txtModel, txtYear, txtColor cho TextBox Bây sẳn sàng thêm điều khiển kiện vào Form thừa hưởng ta Nhớ ứng dụng chức nút Save dùng giống ADO.NET hay đối tượng kinh doanh back-end để lưu liệu vào kho liệu Trong mẫu nàu liệu đưa vào tập tin XML nhỏ Thêm điều khiển kiện Click cho Form thông tin cá nhân hai nút Save Cancel Những nút thừa kế từ lớp bản, chúng thao tác kiện thêm vào giống control khác private void btnSave_Click(object sender, System.EventArgs e) { //Save the values to an XML file //Could save to data source, Message Queue, etc System.Xml.XmlDocument aDOM = new System.Xml.XmlDocument(); System.Xml.XmlAttribute aAttribute; aDOM.LoadXml(""); //Add the First Name attribute to XML aAttribute = aDOM.CreateAttribute("FirstName"); aAttribute.Value = txtFName.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Add the Last Name attribute to XML aAttribute = aDOM.CreateAttribute("LastName"); aAttribute.Value = txtLName.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Add the DOB attribute to XML aAttribute = aDOM.CreateAttribute("DOB"); aAttribute.Value = txtDOB.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Add the SSN attribute to XML aAttribute = aDOM.CreateAttribute("SSN"); aAttribute.Value = txtSSN.Text; aDOM.DocumentElement.Attributes.Append(aAttribute); //Save file to the file system aDOM.Save("PersonnelData.xml"); } private void btnCancel_Click(object sender, System.EventArgs e) { txtLName.Text = ""; txtFName.Text = ""; txtDOB.Text = ""; txtSSN.Text = ""; } Đoạn mã có vẽ quen với bạn, giống với đoạn mã XML từ ví dụ trước Ý tưởng xếp thứ tự nội dung TextBoxes vào tập tin XML lưu vào hệ thống tập tin Nút Cancel để xoá control TextBox Đoạn mã cho Automobile Information Form giống ngoại trừ khác tên TextBox dùng tập tin XML khác tạo Khi khơng biểu lộ tin tức không Cuối , thêm điều khiển kiện sau vào kiện Click nút Form1 private void btnPerson_Click (object sender, System.EventArgs e) { Form3 aForm = new Form3(); aForm.ShowDialog(); } private void btnAuto_Click(object sender, System.EventArgs e) { Form4 aForm = new Form4(); aForm.ShowDialog(); } Thực thi ứng dụng VisualInheritance ... TextBox1 txtFName 97, 25 115, 20 TextBox2 txtLName 97, 61 115, 20 TextBox3 txtSSN 97, 99 115, 20 (Blank) (Blank) (Blank) Label1 label1 20 , 25 70, 18 First Name: Label2 label2 20 , 62 70, 18 Last Name:... Button sau: Property (Name) Location Size Text button1 Value btnSave 125 , 157 78, 25 Save button2 Value btnCancel 21 0, 157 78, 25 Cancel Ở thay đổi tên mặc định Button đến giản đồ đặt tên chuẩn... Value Data Entry Form Property Size (Name) StartPosition Value 300, 22 0 frmMain CenterScreen Các cài đặt tạo cửa sổ 300 tới 22 0 pixel hình Thuộc tính Name thuộc tính quan trọng tất controls Giá

Ngày đăng: 15/12/2013, 02:15

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan