Frage

Ich muss programmatisch die Grenze der einzelnen Zellen in einem WinForms Datagridview ändern. Wenn auf dem ‚Netz suchen, fand ich diesen Link ( http://bytes.com/groups/net-vb/501128-changing-datagridview-cell-borders-runtime ), die die gleiche Sache ist, dass ich zu tun versucht; jedoch gibt es kein Codebeispiel gibt die Lösung, das ist

"So können Sie von der erben Datagrid Klasse und überschreibt AdjustCellBorderStyle Methode a zu erhalten angepasste Version von Datagrid. Dann können Sie diese maßgeschneiderte verwenden Datagrid in Ihrem Datagridview. Hinweis: In Ihrer individuellen Datagrid, sollten Sie eine aussetzen DataGridViewAdvancedBorderStyle öffentliches Mitglied, so dass Code Datagridview kann ist dieses Mitglied Grenze Stil Informationen in die Zelle. Dann in der AdjustCellBorderStyle Implementierung, sollten Sie die dies überprüfen DataGridViewAdvancedBorderStyle öffentliches Mitglied und zurück entsprechen DataGridViewAdvancedBorderStyle. Dann Datagridview PaintCells kann es verwenden, um malen Sie Ihre Zelle. ".

Ich habe eine harte Zeit zu verstehen, die Implementierung dieser Lösung. Könnte jemand bitte die oben in die Arbeits VB.Net Code übersetzen und ein Beispiel dafür, nannte es eine einzelne Zelle Grenzen zu ändern?

War es hilfreich?

Lösung

Hier ist ein fertiges Beispiel das tut, was Sie brauchen, nur unter der zusätzlichen Funktionalität versteckt von der Hintergrundfarbe zu setzen.

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

Achten Sie auf die Linien

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

Diese Linie zieht eine Grenze Zellen, so dass eine einzelne Zellen Grenze zu ändern, um das Ereignis args (CellBackColorEventArgs Klasse) ändern zu schließen, was auch immer Eigenschaften, die Sie über die Grenze beschreiben wollen. Dann in dem DrawCellBackColor Verfahren zeichnet die Grenze auf der Grundlage dieses in Eigenschaften übergeben (und was sonst wollen Sie in der Zelle ziehen)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top