1

WinForms DataGridView の個々のセルの境界線をプログラムで変更する必要があります。「ネットで検索すると、このリンク(http://bytes.com/groups/net-vb/501128-ching-datagridview-cell-borders-runtime)が見つかりました。これは、私がやろうとしているのと同じことです。ただし、ソリューションのコード例はありません。

「したがって、DataGridViewCell クラスから継承し、AdjustCellBorderStyle メソッドをオーバーライドして、DataGridViewCell のカスタマイズされたバージョンを取得できます。次に、このカスタマイズされた DataGridViewCell を DataGridView で使用できます。注: カスタマイズされた DataGridViewCell では、DataGridViewAdvancedBorderStyle パブリック メンバーを公開して、DataGridView コードがこのメンバーの境界線スタイル情報をセルに設定できます。次に、AdjustCellBorderStyle 実装で、この DataGridViewAdvancedBorderStyle パブリック メンバーを確認し、対応する DataGridViewAdvancedBorderStyle を返す必要があります。その後、DataGridView PaintCells はそれを使用してセルを描画できます。".

このソリューションの実装を理解するのに苦労しています。誰かが上記を動作する VB.Net コードに翻訳し、それを呼び出して個々のセルの境界を変更する例を提供してもらえますか?

4

1 に答える 1

1

これは、背景色を設定する追加機能の中に隠されているだけで、必要なことを行う既製の例です。

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

行を探します

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

その行はセルの境界線を描画するため、個々のセルの境界線を変更するには、イベント引数 (CellBackColorEventArgs クラス) を変更して、境界線を記述したいプロパティを含めます。次に、DrawCellBackColor メソッドで、渡されたこれらのプロパティ (およびセルに描画するその他のもの) に基づいて境界線を描画します。

于 2009-06-15T11:01:08.833 に答える