Danh mục tài liệu

Windows Form Microsoft .NET Framework phần cuối

Số trang: 7      Loại file: pdf      Dung lượng: 178.71 KB      Lượt xem: 4      Lượt tải: 0    
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bạn cần sử dụng tính năng kéo-và-thả để trao đổi thông tin giữa hai điều kiểm (cũng có thể trong các cửa sổ hoặc các ứng dụng khác nhau) Khởi động thao tác kéo-và-thả bằng phương thức DoDragDrop của lớp Control, và đáp ứng cho sự kiện DragEnter và DragDrop.
Nội dung trích xuất từ tài liệu:
Windows Form Microsoft .NET Framework phần cuối 1.1 Thực hiện thao tác kéo-và-thả Bạn cần sử dụng tính năng kéo-và-thả để trao đổi thông tin giữa hai điều kiểm (cũng có thể trong các cửa sổ hoặc các ứng dụng khác nhau) Khởi động thao tác kéo-và-thả bằng phương thức DoDragDrop của lớp Control, và đáp ứng cho sự kiện DragEnter và DragDrop.Thao tác kéo-và-thả cho phép người dùng chuyển thông tin từ nơi này đến nơi khác bằngcách nhắp vào một item và rê nó đến một vị trí khác. Thao tác kéo-và-thả gồm ba bướccơ bản sau đây: 1. Người dùng nhắp vào điều kiểm, giữ chuột, và bắt đầu rê. Nếu điều kiểm hỗ trợ tính năng kéo-và-thả, nó sẽ thiết lập riêng một vài thông tin. 1. Người dùng rê chuột lên một điều kiểm khác. Nếu điều kiểm này chấp nhận kiểu nội The image part with relationship ID rId5 was not found in the file. dung được rê đến, con trỏ chuột sẽ đổi thành hình mũi tên với trang giấy . Nếu The image part with relationship ID rId6 was not found in the file. không, con trỏ chuột sẽ đổi thành hình tròn với một vạch thẳng bên trong . 2. Khi người dùng thả chuột, dữ liệu được gửi đến điều kiểm, và điều kiểm này có thể xử lý nó một cách thích hợp.Để hỗ trợ tính năng kéo-và-thả, bạn phải thụ lý các sự kiện DragEnter, DragDrop, vàMouseDown. Ví dụ này sử dụng hai TextBox, đây là đoạn mã gắn các phương thức thụlý sự kiện mà chúng ta sẽ sử dụng:this.TextBox2.MouseDown += newMouseEventHandler(this.TextBox_MouseDown);this.TextBox2.DragDrop += new DragEventHandler(this.TextBox_DragDrop);this.TextBox2.DragEnter += new DragEventHandler(this.TextBox_DragEnter);this.TextBox1.MouseDown += newMouseEventHandler(this.TextBox_MouseDown);this.TextBox1.DragDrop += new DragEventHandler(this.TextBox_DragDrop);this.TextBox1.DragEnter += new DragEventHandler(this.TextBox_DragEnter);Để bắt đầu một thao tác kéo-và-thả, bạn hãy gọi phương thức DoDragDrop của điều kiểmnguồn. Lúc này, bạn cần cung cấp dữ liệu và chỉ định kiểu hoạt động sẽ được hỗ trợ(chép, di chuyển…). Ví dụ dưới đây sẽ khởi tạo một thao tác kéo-và-thả khi người dùngnhắp vào một TextBox:private void TextBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { TextBox txt = (TextBox)sender; txt.SelectAll(); txt.DoDragDrop(txt.Text, DragDropEffects.Copy);}Để có thể nhận dữ liệu được rê đến, điều kiểm phải có thuộc tính AllowDrop là true. Điềukiểm này sẽ nhận sự kiện DragEnter khi chuột rê dữ liệu lên nó. Lúc này, bạn có thể kiểmtra dữ liệu đang được rê đến, quyết định xem điều kiểm có thể chấp nhận việc thả haykhông, và thiết lập thuộc tính DragEventArgs.Effect tương ứng, như được trình bày trongđoạn mã dưới đây:private void TextBox_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.Text)) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DragDropEffects.None; }}Bước cuối cùng là đáp ứng cho sự kiện DragDrop, sự kiện này xảy ra khi người dùng thảchuột:private void TextBox_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { TextBox txt = (TextBox)sender; txt.Text = (string)e.Data.GetData(DataFormats.Text);}Sử dụng các đoạn mã trên, bạn có thể tạo một ứng dụng thử nghiệm tính năng kéo-và-thảđơn giản (xem hình 6.12), cho phép text được rê từ TextBox này đến TextBox khác. Bạncũng có thể rê text từ một ứng dụng khác và thả nó vào một trong hai TextBox này. The image part with relationship ID rId7 was not found in the file. Hình 6.12 Một ứng dụng thử nghiệm tính năng kéo-và-thả 1.2 Sử dụng trợ giúp cảm-ngữ-cảnh Bạn muốn hiển thị một chủ đề cụ thể trong file trợ giúp dựa trên điều kiểm hiện đang được chọn. Sử dụng thành phần System.Windows.Forms.HelpProvider, và thiết lập các thuộc tính mở rộng (extender property) HelpKeyword và HelpNavigator cho mỗi điều kiểm..NET hỗ trợ tính năng trợ giúp cảm-ngữ-cảnh (context-sensitive help) thông qua lớpHelpProvider. Lớp này là một điều kiểm mở rộng đặc biệt. Khi bạn thêm nó vào khaythành phần (component tray), nó sẽ thêm một số thuộc tính vào tất cả các điều kiểm trênform. Ví dụ, hình 6.13 trình bày một form gồm hai điều kiểm và một HelpProvider.ListBox (hiện đang được chọn) có thêm các thuộc tính HelpKeyword, HelpNavigator, vàHelpString (do HelpProvider cấp).Để sử dụng trợ giúp cảm-ngữ-cảnh với HelpProvider, bạn cần thực hiện ba bước sau đây: 1. Thiết lập thuộc tính HelpProvider.HelpNamespace là tên của file trợ giúp (chẳng hạn, myhelp.chm). 2. Đối với mỗi điều kiểm yêu cầu trợ giúp cảm-ngữ-cảnh, hãy thiết lập thuộc tính mở rộng HelpNavigator là HelpNavigator.Topic. 3. Đối với mỗi điều kiểm yêu cầu trợ giúp cảm-ngữ-cảnh, hãy thiết lập thuộc tính mở rộng HelpKeyword là tên của chủ đề liên kết với điều kiểm này (tên chủ đề phải có trong file trợ giúp và có thể được cấu hình trong các công cụ tạo file trợ giúp). The image part with relationship ID rId8 was not found in the file. Hình 6.13 Các thuộc tính mở rộng do HelpProvider cấp cho ListBoxNếu người dùng nhấn phím F1 trong khi một điều kiểm nào đó đang nhận focus, file trợgiúp sẽ được mở một cách tự động và chủ đề liên kết với điều kiểm này sẽ được hiển thịtrong ...

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

Tài liệu có liên quan: