Estou preenchendo um controle DataGridView em um Windows Form (C # 2.0 não WPF).
Meu objetivo é exibir uma grade que preencha perfeitamente toda a largura disponível com células - ou seja, sem áreas não utilizadas (cinza escuro) à direita e dimensiona cada coluna apropriadamente de acordo com os dados que ela contém, mas também permite ao usuário redimensionar qualquer uma das colunas ao seu gosto.
Estou tentando fazer isso definindo o AutoSizeMode de cada coluna como DataGridViewAutoSizeColumnMode.AllCells, exceto por uma das colunas que defini como DataGridViewAutoSizeColumnMode.Fill para garantir que toda a área da grade seja perfeitamente preenchida com dados. (Não me importo que quando o usuário tenta redimensionar esta coluna ela volta para um tamanho que garante que o espaço horizontal seja sempre usado.)
No entanto, como mencionei, uma vez carregado, gostaria de permitir que o usuário redimensione as colunas de acordo com seus próprios requisitos - ao definir esses valores de AutoSizeMode para cada coluna, parece que o usuário não consegue redimensionar essas colunas.
Eu tentei não definir o AutoSizeMode de todas as colunas, o que permite o redimensionamento, mas não define o tamanho inicial de acordo com os dados que as células contêm. O mesmo resultado ocorre ao alterar o AutoSizeMode da grade de volta para "Not Set" após carregar os dados.
Existe uma configuração que estou faltando aqui que permite a configuração automática de larguras de coluna padrão E redimensionamento do usuário ou há outra técnica que devo usar ao preencher o controle DataGridView?