213
Chương 6: Windows Form
string listXText = listX.SubItems[Column].Text;
string listYText = listY.SubItems[Column].Text;
return String.Compare(listXText, listYText);
}
}
}
Bây giờ, để sắp xếp
ListView
, bạn cần tạo một đối tượng
ListViewItemComparer
, cấu hình cho
nó một cách hợp lý, và rồi thiết lập nó vào thuộc tính
ListView.ListViewItemSorter
trước khi
gọi phương thức
ListView.Sort
.
Form dưới đây trình bày một thử nghiệm đơn giản cho
ListViewItemComparer
. Mỗi khi người
dùng nhắp vào header của một cột trong
ListView
thì
ListViewItemComparer
sẽ được tạo ra
và được sử dụng để sắp xếp danh sách dựa trên cột đó.
using System;
using System.Windows.Forms;
public class ListViewItemSort : System.Windows.Forms.Form {
// (Bỏ qua phần mã designer.)
private void ListView1_ColumnClick(object sender,
System.Windows.Forms.ColumnClickEventArgs e) {
ListViewItemComparer sorter = new ListViewItemComparer(e.Column);
ListView1.ListViewItemSorter = sorter;
ListView1.Sort();
}
}
11.
11.
Liên k t menu ng c nh vào đi u ki m
ế
ữ ả
ề
ể
Liên k t menu ng c nh vào đi u ki m
ế
ữ ả
ề
ể
Bạn cần liên kết một menu ngữ cảnh vào mỗi điều kiểm trên form (các menu này
khác nhau). Tuy nhiên, bạn không muốn viết nhiều phương thức thụ lý sự kiện
riêng rẽ để hiển thị menu ngữ cảnh cho mỗi điều kiểm.
Viết một phương thức thụ lý sự kiện chung để thu lấy đối tượng
ContextMenu
được kết hợp với điều kiểm, và rồi hiển thị menu này trên điều kiểm.
Bạn có thể liên kết một điều kiểm với một menu ngữ cảnh bằng cách thiết lập thuộc tính
ContextMenu
của điều kiểm. Tuy nhiên, đây chỉ là một thuận lợi—để hiển thị menu ngữ cảnh,
bạn phải thu lấy menu và gọi phương thức
Show
của nó. Thông thường, bạn hiện thực logic
này trong phương thức thụ lý sự kiện
MouseDown
.