Tôi cần forecolor màu đen trong một combobox bị vô hiệu hóa. Có thể không?Thay đổi màu sắc của combobox bị vô hiệu hóa
Trả lời
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.
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.
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
comboBox1.BackColor = Color.Black;
Đọc câu hỏi. Đó là * forecolor *, không phải backcolor. – CesarGon
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á.
đ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
Điều này không làm việc: đã thử với: comboBox1.Enabled = false; comboBox1.SelectedIndex = 0; comboBox1.ForeColor = Color.FromName ("Đỏ"); – Sreedhar
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 –