Windows Forms – Phần 5
Một bộ điều khiển sự kiện có thể được viết để trả lời sự kiện Apply khi nó
được kích bởi 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;
}
Windows Applications
Windows Forms – Phần 5
Một bộ điều khiển sự kiện có thể được viết để trả lời sự kiện Apply khi nó
được kích bởi 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 chúng ta khởi tạo đối tượng FontDialog() với một vài cài đặt, trong
đó có thuộc tính font của SomeControl để mô tả đối tượng ta đang cập nhật.
Việc khởi tạo thuộc tính font như trên là rất tốt bởi vì người dùng sẽ thấy
font được chọn trong hộp dialog, và họ không lúng túng. Nếu người dùng
chọn OK trong FontDialog thì thuộc tính font của SomeControl được cập
nhật để phản ánh font mà người dùng chọn.
OpenFileDialog
Lớp này rất hữu ích, như nhiều ứng dụng yêu cầu người dùng điều hướng hệ
thống tập tin để mở và dùng các tập tin dữ liệu. Dialog này là dialog
Window chuẩn cho việc mở tập tin, và người dùng nên làm quen với nó.
Lớp này chứa nhiều thuộc tính dùng để cài hình thức và cách cư xử của
chính hộp dialog đó. Cả hai lớp này và lớp SaveFileDialog thừa kế từ lớp cơ
sở FileDialog. Vì nguyên nhân này nhiều thuộc tính được chia sẽ. Thuộc
tính chính được trình bày ở trong bảng sau:
Property Description
CheckFileExists Cài thuộc tính này là true để làm cho hộp dialog hiển thị
một cảnh báo nếu người dùng chỉ định một tên tập tin
không tồn tại. Cách này làm cho đoạn mã của bạn không
Property Description
phải kiểm tra một đường dẫn. Mặc định là true.
FileName Đây là thuộc tính quan trọng được dùng để cài và khôi
phục tên tập tin được chọn trong hộp dialog tập tin.
FileNames Nếu Multiselect là enabled, thuộc tính này sẽ trả về một
mảng tên tập tin mà người dùng chọn.
Filter Nó cài chuỗi lọc tên tập tin, để xác định các chọnlựa xuất
hiện trong hộp "Files of type" trong hộp dialog.
FilterIndex Chỉ mục của bộ lọc chọn trong hộp dialog tập tin.
InitialDirectory Thư mục khởi tạo hiển thị bởi hộp dialog tập tin.
Multiselect Thuộc tính Boolean được cài để cho biết hộp dialog có
cho phép các tập tin bội có được chọn hay không. Mặc
định là false.
ReadOnlyChecked Thuộc tính Boolean cho biết nếu check box chỉ đọc được
chọn. Mạc định là false.
RestoreDirectory Thuộc tính Boolean cho biết hộp dialog có trả lại thư
mục hiện tai trước khi đóng hay không. Mặc định là
Property Description
false.
ShowHelp Thuộc tính Boolean cho biết nút Help có được hiển thị
trong hộp dialog tập tin hay không.
ShowReadOnly Thuộc tính Boolean cho biết dialog có chứa một check
box chỉ đọc hay không.Mặc định là false.
Title Tiều đề của dialog tập tin được hiển thị.
Lớp này được dùng để lấy một tên tập tin hay nhiều tên tập tin từ người
dùng. Khi nó đựợc thực hiện thì ứng dụng có thể xử lý một tập tin hay nhiều
tập tin được cho biết bởi người dùng. Thuộc tính Filter là một khoá để cung
cấp một giao diện hữu ích cho người dùng. Bằng cách thu hẹp các tập tin
hiển thị thích hợp vào ứng dụng hiện hành, người dùng chắc chắn hơn để tìm
tập tin chính xác.
Thuộc tính Filter là một chuỗi có thể chứa các tuỳ chọn lọc phức tạp. Mọi
filter chứa một diện mạo tóm tắc, theo sau bởi một thanh dọc ( | ) và mẫu
filter là một chuỗi tìm kiếm DOS. Các chuỗi cho các tuỳ chọn lọc khác nhau
sẽ phân biệt bởi một thanh dọc.
Bạn có thể thêm các mẫu đa filter vào một filter đơn bằng cách phân các
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 một đối tượng OpenFileDialog, định hình một số thuộc
tính trên nó, và hiển thị nó với người dùng để cho phép họ chọn một tập tin.
Ứng dụng có thể sau đó sử dụng thuộc tính FileName hay FileNames để xử
lý tham khảo đến tập tin hay các 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 này có ba tuỳ chọn trong combo box "Files of Type". Một tuỳ
chọn là Text Files, một cái khác là Word Documents, và thứ ba là All Files.
SaveFileDialog
Hộp dialog này rất giống OpenFileDialog, và trong thực tế chúng thừa
hưởng từ một lớp cơ sở. Các chức năng cơ bản của hộp dialog này là cho
phép một người dùng chọn một nơi để lưu dữ liệu.
Nhiều thuộc tính giống như lớp OpenFileDialog; tuy nhiên các thuộc tính
sau là các thành viên của OpenFileDialog và không tồn tại trong lớp
SaveFileDialog:
CheckFileExists
Multiselect
ReadOnlyChecked
ShowReadOnly
Nhưng, hai thuộc tính sau chỉ hợp lệ khi là thành viên của lớp
SaveFileDialog:
CreatePrompt
OverwritePrompt
Chú ý rằng các thuộc tính khác tạo cùng một kiểu, bao gồm các thuộc tính
Filter, Title, và 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 này được dùng để cài định hướng và lề của trang.
Thuộc tính chính trong lớp này là Document. Nó được yêu cầu trước khi
phương thức ShowDialog() có thể được gọi, và một ngoại lệ được ném nếu
nó không được gán một giá trị. Thuộc tính Document chấp nhạn một đối
tượng PrintDocument, đối tượng này là thành viên của
System.Drawing.Printing namespace. Đối tượng này là cốt yếu cho tiến trình
in ấn trong .NET, và tượng trưng các trang mà ạôt ứng dụng sẽ in. Bằng
cách cài các thuộc tính của đối tượng này và sử dụng GDI+ để vẽ bề mặt của
nó, ứng dụng có thể in bởi máy in.
Ví dụ bên dưới mô tả cách các hộp Dialog được gọi và 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ã này tạo một đối tượng PageSetupDialog mới, liên kết với một đối
tượng PrintDocument mới với nó và hiển thị dialog.
PrintDialog
Dialog này được dùng để chọn máy in, số lượng bản sao, và các trang để in
trong một tài liệu. Như dialog trước, đối tượng này yêu cầu một đối tượng
PrintDocument có hiệu lực để được liên kết với thuộc tính Document trước
khi nó được hiển thị.
Đối tượng cũng chứa các thuộc tính khoá sau:
Property Description
AllowPrintToFile thuộc tính Boolean có thể được cài là true để hiển thị
checkbox "Print to file" trog dialog. mặc định là true.
AllowSelection Thuộc tính Boolean có thể được cài là true để cho phép
in ấn chỉ những phần hiện hành. Mặc định là false.
AllowSomePages thuộc tính Boolean có thể được cài là true để cho biết các
tuỳ chọn From Page và To Page là enabled. Mặc định là
false.
Document Thuộc tính PrintDocument mô tả bề mặt in ấn hiện hành.
PrintToFile thuộc tính Boolean có thể được cài là true để cho biết
checkbox "Print to file" được checked. khi diaog trả về
nó có thẻ được check để thấy nếu ngừơi dùng muốn ứng
dụng in tài liệu vào một tập tin. Mặc định là false.
ShowHelp Thuộc tính Boolean có thể được cài là true để cho biết
nut Help nên được hiển thị. Mặc định là false.
Giống như các lớp dialog thông thường, các thuộc tính này được định hình
trước khi gọi phương thức ShowDialog() để hiển thị hộp dialog chính xác
cho người dùng. Đoạn mã dùng lớp này rất 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 này cung cấp một cách nhanh chóng để giới thiệu các khả năng duyệt
trước khi in vào một ứng dụng. Lớp này chấp nhận đối tượng
PrintDocument trong thuộc tính Document của nó, và cùng đoạn mã mà điều
khiển việc in ấn của mộtmáy in sẽ trả lại tài liệu cho hộp dialog này.
Hộp dialog này hỗ trợ co dãn, thu nhỏ, và đánh số trang và một tập các tuỳ
chọn khác .
File đính kèm:
60_306.pdf

