- - PR -
DataGridViewの罫線について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-23 14:52
こんにちは。
DataGridViewに罫線を引きたいと思っています。 Grid全体や特定の列に対して罫線を引くことはできるのですが、 セル単位で罫線を引くことができません。 どなたか、ご存知の方はいらしゃらないでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2007-10-24 13:24
自己レスです。
DataGridViewCellを継承して、Paintメソッドをオーバーライドしたらできました。 Public Property Ruled_Line() As Boolean Get Return m_ruledLine End Get Set(ByVal value As Boolean) m_ruledLine = value End Set End Property Protected Overrides Sub Paint(ByVal graphics As System.Drawing.Graphics, ByVal clipBounds As System.Drawing.Rectangle, ByVal cellBounds As System.Drawing.Rectangle, ByVal rowIndex As Integer, ByVal cellState As System.Windows.Forms.DataGridViewElementStates, ByVal value As Object, ByVal formattedValue As Object, ByVal errorText As String, ByVal cellStyle As System.Windows.Forms.DataGridViewCellStyle, ByVal advancedBorderStyle As System.Windows.Forms.DataGridViewAdvancedBorderStyle, ByVal paintParts As System.Windows.Forms.DataGridViewPaintParts) MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, cellState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts) If Ruled_Line = True Then Dim objPen As New Pen(Color.Black, 1) objPen.DashStyle = Drawing2D.DashStyle.Solid graphics.DrawRectangle(objPen, New Rectangle(cellBounds.X, cellBounds.Y, cellBounds.Width - 1, cellBounds.Height - 1)) End If End Sub 実際には、このままだと、複数セルに罫線を引いた時に、端以外は二重線になってしまうので、これからもうちょっと改良しないといけないんですが。 | ||||
|
投稿日時: 2007-10-24 13:27
・・・何だか見にくいコードになってしまいました。
何で他の人が書いてくれるコードは、スペースとかタブとかがちゃんとなってて、見やすいのだろう・・・う〜ん。 | ||||
|
投稿日時: 2007-10-24 13:35
HTML を知っていると想像がつくとは思いますが、とりあえず BB コード を使いましょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-10-24 13:48
こういうものがあったのですか。
ありがとうございます。 書込画面でスペースとかを入れて調整してもコードが詰められて、ViewStateの暗号みたいになってしまって、これから質問する時も、答える(答えられる知識があるかは別としまして・・・)時もわかりにくいよなぁと思っていました。 教えて頂き、ありがとうございました。 |
1