Pergunta

Eu preciso alterar programaticamente a fronteira de células individuais em um WinForms DataGridView. Ao procurar na net, encontrei este link ( http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime ), que é a mesma coisa que eu estou tentando fazer; no entanto, não existe um exemplo de código da solução, que é

"Então, você pode herdar a partir da DataGridViewCell método AdjustCellBorderStyle classe e substituições para obter um versão do DataGridViewCell personalizado. Então você pode usar este personalizado DataGridViewCell em sua DataGridView. Nota: Em sua DataGridViewCell personalizado, você deve expor um DataGridViewAdvancedBorderStyle membro do público de modo que pode codificar DataGridView definir esta informação membro do estilo de borda para a célula. Em seguida, no implementação AdjustCellBorderStyle, você deve verificar a este DataGridViewAdvancedBorderStyle membro do público e retorno correspondente DataGridViewAdvancedBorderStyle. Então PaintCells DataGridView pode usá-lo para pintar o seu celular. ".

Eu estou tendo dificuldade em entender implementação desta solução. Alguém poderia traduzir o acima em trabalhar código VB.Net e fornecer um exemplo de chamá-lo para mudar as fronteiras de uma célula individual?

Foi útil?

Solução

Aqui está um exemplo preparado que faz o que você precisa, escondido entre a funcionalidade extra de definir a cor de fundo.

http://www.codeproject.com/KB/grid/hulihui_CustomDataGridVie.aspx

Olhe para as linhas

// must draw border for grid scrolling horizontally 
e.Graphics.DrawRectangle(gridPenColor, rect1);  

Essa linha desenha uma borda células, de modo a alterar um células individuais mudança fronteira os args de evento (classe CellBackColorEventArgs) para incluir o que propriedades deseja descrever a fronteira. Em seguida, no método DrawCellBackColor desenhar a borda com base nestes aprovada em propriedades (e qualquer outra coisa que você quer desenhar na célula)

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