Tôi đã tạo Ứng dụng Biểu mẫu Windows mới (C#) với một biểu mẫu đơn giản có chứa ListView. Sau đó, tôi đã thay đổi View Property Details và tăng kích thước của các font sử dụng trong ListView này và đây là kết quả:Chủ đề Windows ảnh hưởng đến tiêu đề ListView
Đây là cách nó trông giống trên Windows XP với chủ đề Windows Classic:
và đây là kết quả với chủ đề Windows XP:
tôi có thể ngăn chặn sự xuất hiện của ứng dụng của tôi bị ảnh hưởng bởi phong cách trực quan bằng cách xóa Application.EnableVisualStyles()
cuộc gọi hoặc bằng cách thay đổi Application.VisualStyleState
:
Mặc dù thay đổi này làm cho ListView có giao diện mong muốn, nó cũng ảnh hưởng đến sự xuất hiện của các điều khiển khác. Tôi muốn ListView của mình là điều khiển duy nhất không bị ảnh hưởng bởi Visual Styles.
Tôi cũng đã tìm thấy những câu hỏi tương tự mà cố gắng để đối phó với nó:
Can you turn off visual styles/theming for just a single windows control?
How do I disable visual styles for just one control, and not its children?
Thật không may, không ai trong số các giải pháp nêu hoạt động. Dường như chính tiêu đề sẽ được tạo thành từ một số điều khiển bị ảnh hưởng bởi kiểu trực quan ngay cả khi kiểu trực quan cho điều khiển ListView bị tắt.
Bất kỳ giải pháp C# nào có thể ngăn chặn kiểu trực quan ảnh hưởng đến sự xuất hiện của tiêu đề ListView sẽ được đánh giá cao.
Vì nó dựa trên giải pháp được đề xuất bởi Kamil Lach, tôi đã trao giải câu trả lời của anh ấy với tiền thưởng mà tôi đã cung cấp. – LihO