Danh mục

Những chức năng mới trong giao diện cửa sổ của VB.NET (phần II)

Số trang: 9      Loại file: pdf      Dung lượng: 174.79 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 2,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Những chức năng mới trong giao diện cửa sổ của VB.NET (phần II)Sự khác biệt trong các Hộp Giao Thoại (Dialog Boxes)Trong VB6, các hộp giao thoại thật ra là những form bình thường nhưng được hiển thị với parameter vbModal, tức là trong Modal mode. Điều nầy khíến cho hộp giao thoại trở nên form tích cực (active form) duy nhất trong chương trình cho đến khi nó đi khuất. Một hộp giao thoại cần một phương tiện để liên lạc với form gọi nó (calling form). Trong VB6, ta giải quyết vấn đề nầy bằng cách...
Nội dung trích xuất từ tài liệu:
Những chức năng mới trong giao diện cửa sổ của VB.NET (phần II) Bài 9 Những chức năng mới trong giao diện cửa sổ của VB.NET (phần II)Sự khác biệt trong các Hộp Giao Thoại (Dialog Boxes)Trong VB6, các hộp giao thoại thật ra là những form bình thường nhưng đượchiển thị với parameter vbModal, tức là trong Modal mode. Điều nầy khíến chohộp giao thoại trở nên form tích cực (active form) duy nhất trong chương trìnhcho đến khi nó đi khuất.Một hộp giao thoại cần một phương tiện để liên lạc với form gọi nó (callingform). Trong VB6, ta giải quyết vấn đề nầy bằng cách chế ra một property tạmgọi là Action. Ta dùng Read-only property Action như sau trong một hộpgiao thoại có hai buttons, OK và Cancel: VB6 code used for Dialog BoxesPublic Enum dialogAction actionOK = 1 actionCancel = 2End EnumDim mAction As dialogActionPublic Property Get Action() As dialogAction Action = mActionEnd PropertyPrivate Sub cmdOK_Click() Get here when user click the OK button mAction = actionOK Hide the Dialog Box to return control to calling form Me.HideEnd SubPrivate Sub cmdCancel_Click() Get here when user click the Cancel button mAction = actionCancel Hide the Dialog Box to return control to calling form Me.HideEnd SubChú ý ta dùng Enumerated type dialogAction. Nó có hai trị số: actionOK vàactionCancel. Property Action thuộc loại enumerated type nầy. Khi user clickmột button, ta set trị số cho local variable mAction rồi Hide cái dialog box. CáiGiao thoại phải được dấu đi (hidden) nhưng không unloaded, vì cái calling formcòn phải truy cập dialog box để đọc trị số của property Action để biết user vừamới click button nào.Giả dụ ta đặt tên cho hộp giao thoại đó là frmDialog. Để gọi một hộp giao thoạitừ một form khác trong VB6 ta có thể code như sau:Dim Dialog As frmDialogSet Dialog = New frmDialog Instantiate a Dialog Box Show dialog box in Modal modeDialog.Show vbModalNhưng bao nhiêu đó chỉ là hiển thị hộp giao thoại thôi. Sau khi hộp giao thoại đãHide rồi ta còn phải truy cập nó để đọc trị số của property Action. Do đó ta cầnphải viết thêm codes cho đầy đủ sau đây:Dim Dialog As frmDialogSet Dialog = New frmDialog Instantiate a Dialog Box Show dialog box in Modal modeDialog.Show vbModal Get here after the dialog box has hidden, but still loaded Now process the ActionSelect Case Dialog.ActionCase actionOK code goes here for normal processingCase actionCancel code goes here for user cancelingEnd SelectUnload Dialog Now we can unload the dialog boxCó hai sự thay đổi quan trọng trong VB.NET, đó là dùng ShowDialog vàDialogResult.ShowDialog thay vì Show vbModalArgument vbModal không được hỗ trợ trong VB.NET. Thay vào đó, một form cóthể dùng method ShowDialog. Dưới đây là sự so sánh của coding trong VB6 vàVB.NET.VB6 code:Dim Dialog As frmDialogSet Dialog = New frmDialog Instantiate a Dialog Box Show dialog box in Modal modeDialog.Show vbModalVB.NET code:Dim Dialog As New frmDialog() Show dialog box in Modal modeDialog.ShowDialogĐể ý là trong VB.NET ở hàng code đầu ta có thể kết hợp hai chuyện khai báo vàinstantiate form mới trong một statement. Hàng code cuối cho thấy sự thay đổitừ Show vbModal qua ShowDialog.DialogResultTrong VB.NET, khi một form khải thị bằng method ShowDialog, nó đã dự bị sẵnmột property tên là DialogResult để calling form có thể truy cập.DialogResult có thể mang một trong những trị số enumerated sau đây: • DialogResult.Abort • DialogResult.Cancel • DialogResult.Ignore • DialogResult.No • DialogResult.None • DialogResult.OK • DialogResult.Retry • DialogResult.YesCó điểm rất tiện là khi DialogResult được set cho một trị số thì dialog được dấuđi (hidden) một cách tự động.Cách đơn giản nhất để set trị số cho DialogResult là assign một trị số choproperty DialogResult của một button. Khi user click button ấy thìDialogResult của hộp giao thoại lấy trị số của property DialogResult của buttonvà hộp giao thoại Hide.Để biểu diễn ShowDialog trong VB.NET, kèm theo đây là mã nguồn của một thídụ. Trong thí dụ nầy ta tạo một form tên frmDialog có hai button tên OK vàCancel. Ta set property DialogResult của button OK thành OK và propertyDialogResult của button Cancel thành Cancel. Form frmDialog hoàn toàn khôngcó một hàng code nào cả.Form chính của chương trình, Form1, chỉ có một button tên BtnShowDialog vớicode cho Event Click như dưới đây:Private Sub BtnShowDialog_Click( ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles BtnShowDialog.Click Declare and instantiate a Dialog Box Dim Dialog As New frmDialog() Show the Dialog Box in Modal mode Dialog.ShowDialog() get here after user has clicked a button and the Dialog box hashidden Process the DialogResult Select Case Dialog.DialogResult Case DialogResult.O ...

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: