Existe uma maneira de diminuir as células DataGridViewCheckBox?
-
06-07-2019 - |
Pergunta
Conforme descrito em essa questão Parece que a altura mínima da linha para uma linha em um DataGridView (Winform não WPF) é 17 se você deseja exibir caixas de seleção em um datagridViewCheckBoxCell. Qualquer menor e a caixa de seleção simplesmente desaparece!
Existe uma maneira de colocar uma caixa de seleção menor em uma célula DataGridView?
Solução
Se você está usando agora .NET 4.0, pode usar o DataGridView.rowtemplate Para ajustar a altura mínima.
Por exemplo,
DataGridViewRow row = this.dataGridView1.RowTemplate;
row.DefaultCellStyle.BackColor = Color.Bisque;
row.Height = 35;
row.MinimumHeight = 20;
No entanto, como evidenciado por esta resposta msdn A altura mínima para uma linha com caixas de seleção é 17 pixels. Não parece que exista alguma maneira de contornar esse problema.
Outras dicas
De fato, você terá que desenhar o controle você mesmo. No lado positivo ... desenhar o controle você mesmo não é tão difícil. este é um exemplo decente de desenhar sua própria caixa de seleção (estamos usando algo bastante semelhante em nosso próprio código).
Apenas, em vez de substituí -lo para parecer desativado, você deseja substituí -lo para tornar a caixa menor ... Não vejo nenhuma maneira de ligar para a caixa de seleção. Em seu próprio objeto gráfico, encolhendo -o e depois desenhando a imagem que você acabou de encolher.