Hướng giải quyết bài tập winform
Em hiện đang tìm hiểu cơ bản về Winform và em không giải quyết được 2 bài này.
—> Làm sao để chọn 1 mục bên trái sau đó bấm “>” thì nó hiển thị bên phải vậy ?
Em nên dùng chức năng nào của winform để giải quyết 2 bài này ạ ?
Cảm ơn mọi người đã giúp đỡ.
Chỉ cần nhấn vào nút “Sửa bài” để sửa lại nội dung, không đăng thêm.
Dễ mừ, 2 cái list thui mừ, khi nhấn chuyển qua, bạn clone cái ở bên trái cho sang bên phải, sau đó xóa cái ở bên trái đi (nếu cần) là oki rùi mừ
3 Likes
Sử dụng 2 list … Sau đó dùng sự kiện để biết đang click vào phần tử nào => Xóa và add sang bên là xong.
1 Like
Giả dụ 2 listBox trái - phải có tên lstLeft và lstRight.
2 nút nhấn sang trái-phải là btnMoveLeft, btnMoveRight.
2 nút có event click cùng chỉ tới hàm này:
private void button_Click(object sender, EventArgs e) {
// lấy thông tin nút nhấn để phân biệt được nút nào đã click
Button button = (Button)sender;
// khai báo 2 listbox đại diện cho 2 listbox nguồn và đích tuy nhiên chưa biết là listbox nào
ListBox src = null;
ListBox dst = null;
// dựa vào bút nhấn để tính xem listbox trái-phải cái nào là nguồn-đích và gán vào 2 listbox trên
src = button == btnMoveLeft ? lstRight : lstLeft;
dst = button == btnMoveLeft ? lstLeft : lstRight;
// thực hiện copy các item từ listbox nguồn vào listbox đích.
foreach (object item in src.SelectedItems){
dst.Items.Add(item);
}
// gỡ các item từ listbox đích theo thứ tự từ cuối lên. Nếu gỡ từ trên xuống sẽ sai index và chạy sai.
while (src.SelectedItems.Count > 0){
src.Items.Remove(src.SelectedItems[src.SelectedItems.Count - 1]);
}
}
1 Like