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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top