dポイントプレゼントキャンペーン実施中!

VB初心者です。VisualBasic2008ExpressEditionを使用しています。
DataGridViewの特定のセルに右上がりの斜線を引きたいのですが、やり方が分かりません。ご教授いただけないでしょうか?

A 回答 (1件)

DataGridViewのカラムタイプのクラスの派生クラスを作成します


DataGridViewTextBoxColumnなどDataGridViewColmunの派生クラス

作成した派生Columnクラスで使うCellクラスの派生クラスも作成します
DatGridViewTextBoxCellなどDataGridViewCellの派生クラス

派生Columnクラスを myTextColumn
派生Cellクラスを myCell
とします
myTextColumnクラスに使うセル用の変数を定義します
dim _myCell as myCell

myTextColumnのNewプロシージャを定義します
Public Sub New()
  MyBase.New()
  _myCell = new myCell()
  Me.CellTemplate = _myCell
End Sub


myCellクラスのPaintメソッドをオーバーライドします
Protected Overrides Sub Paint(
と入力するとスケルトンを作成してくれます
End Subの手前に

Graphics.DrawLile( Pens.Blue, cellBounds.Left, cellBounds.Bottom, _
    cellBounds.Right, cellBounds.Top)
などと記述します

条件などが必要なら if文の追加、プロパティの追加などをしましょう

派生クラスの作成方法は
プロジェクト > クラスの追加 > クラス名の入力 > OK

作成された .vbファイルにて
Public Class myTextColumn

End Class
となっているコードを 派生元クラスをInheritsステートメントで指定します
Public Class myTextColumn
  Inherits DataGridTextBoxColumn
End Class
といった手順です
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています