C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 20 を表示中)
■8537 / )  Re[1]: DataGridViewでのセルの枠線について
□投稿者/ 魔界の仮面弁士 (441回)-(2007/10/02(Tue) 17:26:32)
No8536 (えりんぎ さん) に返信
> あるデータを表示するのに、ひとつのセル内に二つの画像を表示したり、
> ひとつのセルに画像とテキストの両方を表示したりする必要がでてきました。
自前で描画すれば、一つのセル内に複数のデータを表示できますね。

たとえば下記の最下段の図のような表現方法とか。
http://msdn2.microsoft.com/ja-jp/library/aa730882%28vs.80%29.aspx

蛇足までに、DataGridView 関係のサンプル。
http://windowsclient.net/downloads/folders/applications/entry1304.aspx

> ただ、見た目上はあくまでもひとつのセル内に表示されているようにしたいため
> 間にある境界線を消したいのですが、方法がわかりません。
?? ここでいう境界線とは何ですか? (ひとつのセルなのですよね)

状況がよく分かりませんが、単一のセルであろうと、複数のセルであろうと、
自前で描画している限りは、「境界線を描画する/しない」というだけの事かと。


> 一部のセルの左(もしくは右)の境界線だけ消すなどということはできるのでしょうか?
DataGridView の CellPainting イベントで処理するとか、
セルクラスの描画処理を書き換えるとか。たとえば……。

Public Class Form1
 Private Sub Form1_Load(……) Handles MyBase.Load
  DataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single
  DataGridView1.RowCount = 5
  DataGridView1.ColumnCount = 5

  DataGridView1(1, 1) = New Test()
 End Sub

 Class Test
  Inherits DataGridViewTextBoxCell

  Protected Overrides Sub PaintBorder(……)

   advancedBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.None

   MyBase.PaintBorder(graphics, clipBounds, bounds, cellStyle, advancedBorderStyle)
  End Sub
 End Class
End Class
返信 編集キー/


管理者用

- Child Tree -