2009-06-23 26 views
8

Như được mô tả trong this question nó xuất hiện chiều cao hàng tối thiểu cho một hàng trong một DataGridView (WinForm không WPF) là 17 nếu bạn muốn hiển thị hộp kiểm trong một DataGridViewCheckBoxCell. Bất kỳ hộp kiểm nào nhỏ hơn và hộp kiểm chỉ đơn giản biến mất!Có cách nào để làm cho các ô DataGridViewCheckBox nhỏ hơn không?

Có cách nào để đặt hộp kiểm nhỏ hơn trong ô DataGridView không?

+1

Bạn sẽ phải vẽ lại điều khiển, tôi nghĩ không có cách nào khác – V4Vendetta

Trả lời

3

Nếu bạn hiện đang sử dụng .NET 4.0, bạn có thể sử dụng DataGridView.RowTemplate để điều chỉnh chiều cao tối thiểu.

Ví dụ,

DataGridViewRow row = this.dataGridView1.RowTemplate; 
row.DefaultCellStyle.BackColor = Color.Bisque; 
row.Height = 35; 
row.MinimumHeight = 20; 

Tuy nhiên, bằng chứng là this MSDN answer chiều cao tối thiểu cho một hàng với hộp kiểm là 17 pixel. Nó không xuất hiện có bất kỳ cách nào xung quanh vấn đề này.

4

Thật vậy, bạn sẽ phải tự mình kiểm soát. Về mặt cộng ... vẽ bản thân sự kiểm soát không thực sự là khó. This là một ví dụ tốt về việc vẽ hộp kiểm của riêng bạn (chúng tôi đang sử dụng một cái gì đó khá giống với mã riêng của chúng tôi).

Chỉ, thay vì ghi đè nó để bị vô hiệu hóa, bạn muốn ghi đè nó để làm cho hộp nhỏ hơn ... Tôi không thấy cách gọi CallBoxRenderer.DrawCheckBox với kích thước, nhưng không nên có bất cứ điều gì ngăn bạn vẽ vào đối tượng đồ họa của riêng bạn, thu hẹp nó lại, sau đó vẽ hình ảnh bạn vừa thu nhỏ.

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