Sử dụng điều khiển ComboBox 29

Một phần của tài liệu Tìm hiểu về công nghệ NET compact framework và lập trình ứng dụng trên pocket PC (Trang 29 - 32)

Điều khiển ComboBox là điều khiển lý tưởng để đưa ra một danh sách của những lựa chọn trong một số lượng được hạn chế của không gian màn hình. ComboBox xuất hiện như một điều khiển TextBox với một mũi tên bên phải. Một danh sách của những tùy chọn được thả xuống ở dưới điều khiển khi người sử dụng kích vào mũi tên. Khi người sử dụng lựa chọn một tùy chọn họăc kích vào mũi tên lần nữa, thì danh sách của những tùy chọn sẽ cuộn lên.

Thêm những mục chọn cho điều khiển ComboBox có thể được làm ở cả lúc thiết kế và cả ở thời điểm chạy. Để thêm những mục chọn cho ComboBox trong lúc thiết kế, đơn giản ta chọn ComboBox trong Form Designer. Sau đó kích vào dấu ba chấm ở bên cạnh thuộc tính Items trong cửa sổ Properties. Nó sẽ đưa ra cửa sổ String Collection Editor ( Chúng ta sẽ nhìn thấy trong hình 2.8). Trong String Collection Editor, ta sẽ nhập vào danh sách mục chọn để nó xuất hiện trong ComboBox. Mỗi mục chọn phải xuất hiện trên một hàng riêng biệt.

Hình 2.8:Cửa sổ String Collection Editor.

Mục chọn cũng có thể được thêm vào điều khiển ComboBox ở thời điểm. Việc này có thể được hồn thành trong hai cách khác nhau. Đầu tiên, ta gọi phương thức Add trên thuộc tính tập hợp Items của điều khiển ComboBox. Những mục chọn có thể được loại bỏ thông qua phương thức Remove trên tập Items, hay tất cả các mục chọn có thể

được loại bỏ bằng cách gọi phương thức Clear. Đoạn mã sau đây thực hiện việc thêm ba chuỗi cho một điều khiển ComboBox có tên là comboBox1:

C#

comboBox1.Items.Add("Hi"); comboBox1.Items.Add("Howdy"); comboBox1.Items.Add("Wuz Up");

Bạn cũng có thể thêm những mục chọn cho một ComboBox ở thời điểm chạy bằng cách liên kết điều khiển cho một đối tượng collection. Việc này được thực hiện bằng cách đặt DataSource cho đối tượng collection. Khi ComboBox cố gắng để thêm những mục chọn vào danh sách thả xuống, nó sẽ gọi đến phương thức ToString trên mỗi mục chọn trong DataSource và thêm các chuỗi vào danh sách thả xuống. Chuỗi có thể tùy biến bởi sự thiết đặt thuộc tính DisplayName của điều khiển ComboBox

Đoạn mã sau giải thích việc liên kết một ComboBox với một danh sách của những đối tượng tuỳ biến như thế nào. Lớp Customer là một lớp tuỳ biến mà nó nắm giữ tên của tuỳ biến đó. Khi ComboBox được giới hạn trong phương thức LoadCustomer, thì thuộc tính FullName được đặt như DisplayName.

Đoạn mã C# class Customer { string m_First; string m_Middle; string m_Last;

public Customer(string first, string middle, string last) { m_First = (first == null) ? string.Empty : first;

m_Middle = (middle == null) ? string.Empty : middle; m_Last = (last == null) ? string.Empty : last;

}

public string FirstName { get { return m_First; } }

public string MiddleName { get { return m_Middle; } }

public string LastName { get { return m_Last; } }

static string FullNameWithInitial = "{0} {1}. {2}"; static string FullNameNoInitial = "{0} {1}";

get {

return (m_Middle.Length > 0) ?

string.Format(FullNameWithInitial, m_First, m_Middle[0], m_Last) : string.Format(FullNameNoInitial, m_First, m_Last);

} } }

private void LoadCustomers() { if(customers != null)

return;

customers = new Customer[6];

customers[0] = new Customer("Ronnie", "Donnell", "Yates"); customers[1] = new Customer("Moya", "Alicia", "Hines"); customers[2] = new Customer("Veronica", "Christine", "Yates"); customers[3] = new Customer("Diane", "", "Taylor");

customers[4] = new Customer("Kindell", "Elisha", "Yates"); customers[5] = new Customer("Zion", "Donnell", "Yates"); this.comboBox1.DataSource = customers;

this.comboBox1.DisplayMember = "FullName"; }

Có hai cách vẫn được sử dụng mà mục chọn hiện thời được lựa chọn trong ComboBox. Đầu tiên, thuộc tính mục chọn SelectedIndex trả lại chỉ số của mục chọn hiện thời được lựa chọn. Chỉ số này có thể được dùng để truy cập mục chọn được lựa chọn từ thuộc tính Items của điều khiển ComboBox. Mã sau đây minh họa thuộc tính SelectIndex :

C#

string selItem = comboBox1.Items[comboBox1.SelectedIndex].ToString();

Điều khiển ComboBox cũng cung cấp thuộc tính electedItem mà trả lại một tham chiếu đến mục chọn hiện thời được lựa chọn. Mã sau đây trình bày việc sự sử dụng thuộc tính SelectedItem như thế nào:

C#

string selItem = comboBox1.SelectedItem.ToString();

Một phần của tài liệu Tìm hiểu về công nghệ NET compact framework và lập trình ứng dụng trên pocket PC (Trang 29 - 32)

Tải bản đầy đủ (PDF)

(95 trang)