Có chuẩn WinForms 2.0 PropertyGrid
control Tôi đang tìm cách thay đổi màu đường viền của điều khiển hoặc xóa toàn bộ đường viền.Làm cách nào để thay đổi màu đường viền (hoặc xóa đường viền) của điều khiển PropertyGrid?
Tôi nhận thức được LineColor
property mà tiếc là chỉ thay đổi biên giới bên trong giữa các tế bào.
Ngoài ra, tôi đã sử dụng ILSpy để xem mã nguồn của điều khiển PropertyGrid
và vẫn không tìm thấy gì có ý nghĩa đối với tôi.
Câu hỏi của tôi là:
Làm thế nào để loại bỏ các đường viền ngoài của một điều khiển PropertyGrid
hoặc thay đổi màu của đường viền bên ngoài?
Cập nhật 2012-05-04 - Giải pháp (hay còn gọi là "hack"):
Dựa trên Jamie's answer tôi tập hợp một giải pháp làm việc (which you can download from here):
Ý tưởng là để đặt lưới thuộc tính bên trong một bảng điều khiển và để cho bảng điều khiển clip điều khiển.
Với phương pháp này, tôi đã làm ra bảng điều khiển cắt vào một bảng mà có một Padding
"1" (hoặc bất cứ điều gì bạn muốn biên giới phải) và đưa bảng này một BackColor
đóng vai trò như màu biên giới (màu xanh lá cây trong ví dụ của tôi).
Đặt neo của lưới thuộc tính thành "Trái, Phải, Trên cùng, Dưới cùng", đặt Dock
của bảng cắt thành "Đầy đủ".
Điều này phù hợp với yêu cầu của tôi. Tôi sẽ thấy điều này như là một loại hack vì nó tiêu thụ tài nguyên của hai tấm mà tôi hy vọng tôi có thể tiết kiệm.
Hehe, tôi đã thử điều đó trong quá khứ, không thành công. Tôi sẽ thử lại lần nữa, chỉ trong trường hợp tôi đã làm điều gì sai. –
@Jamie Nó hoạt động, cảm ơn đề xuất của bạn! Tôi sẽ cập nhật câu hỏi của tôi với câu trả lời của bạn. –
Hãy cẩn thận, điều này có thể byte khi các cửa sổ được thay đổi kích cỡ vì quy mô hình thức tự động. Bạn thực sự muốn viết mã trong trình xử lý sự kiện Resize của bảng điều khiển để luôn đảm bảo rằng PropertyGrid là nơi cần thiết. –