2009-04-21 52 views

Trả lời

4

Tôi đã tìm kiếm xung quanh để biết thông tin trong thời gian qua về việc này, và như xa như tôi có thể nói, giải pháp tốt nhất là thay đổi DrawMode của combo box để OwnerDrawFixed hoặc OwnerDrawVariable và sau đó viết của bạn mã vẽ riêng trong sự kiện DrawItem của hộp tổ hợp.

Tôi đã tìm thấy số này article để tìm hiểu chi tiết hơn về nó. Hy vọng nó giúp.

-2

Tất cả bạn cần làm là nói

combobox1.ForeColor = Color.FromName("Black"); 

Nó không quan trọng nếu việc kiểm soát bị vô hiệu hóa hay không, cần thay đổi màu nền trước.

+0

Điều này không làm việc: đã thử với: comboBox1.Enabled = false; comboBox1.SelectedIndex = 0; comboBox1.ForeColor = Color.FromName ("Đỏ"); – Sreedhar

+0

Có vẻ như tôi đã sai. Tôi đã tạo một ứng dụng ví dụ nhanh cho thấy điều này. Giải pháp tốt nhất mà tôi đã tìm thấy là bạn có thể in đậm văn bản để làm cho màu xám trên màu xám dễ đọc hơn. Mã zip của ứng dụng mẫu được đặt tại đây: http://www.yousendit.com/download/dVlwTXRkUnErV3hMWEE9PQ –

-1

Không chắc chắn nếu ứng dụng của bạn là Winforms hoặc WPF. Mã được đưa ra bên dưới hoạt động trong ứng dụng WPF.

combo1.Items.Add("Item 1"); 
    combo1.Items.Add("Item 2"); 
    combo1.SelectedIndex = 0; 
    combo1.Foreground = Brushes.Black; 


Trong XAML của tôi Tôi đã thêm một combo box và thiết lập thuộc tính IsEnabled của nó là "false", sau đó trong mã đằng sau tôi đã sử dụng mã đưa ra ở trên và nó làm việc.

HTH

-3

comboBox1.BackColor = Color.Black;

+0

Đọc câu hỏi. Đó là * forecolor *, không phải backcolor. – CesarGon

4

Một "hack" tôi đã sử dụng trong quá khứ cho hộp văn bản là để điều khiển được bật, nhưng nắm bắt sự kiện "OnFocus" và đặt ngay tiêu điểm cho một số đối tượng khác trên biểu mẫu, tốt nhất là nhãn vì nó không không hiển thị như đang được chọn. Tôi nghĩ rằng điều này sẽ làm việc cho comboboxes, quá.

+0

điều này có thể gây ra một số sự cố khi sử dụng phím tab để duyệt qua các điều khiển – Breeze

Các vấn đề liên quan