DataGridView Tips集(その他の Tips 色々) (309) 玄関へお回り下さい。
 
1. DataGridView の選択範囲をクリップボードにコピー
2. DataGridView の選択された行データ(セル)をクリップボードにコピー及び取得
 (1)ヘッダーをコピーしないように設定  (2)選択行をクリップボードにコピー
 (3)クリップボードのデータを6行目に挿入
3. DataGridView の背景色(濃いグレーの部分)を設定する
4. DataGridView にコンテキストメニュー(ショートカットメニュー)を設定
 (1)1列目にだけ設定する場合  (2)列ヘッダーに設定する場合
 (3)1行目にだけ設定する場合  (4)セル全体に対して設定する場合
 (5)セル個別に対して設定する場合  (6)上記設定を元に戻す場合
5. DataGridView のセル個別に ToolTipText を表示する
6. DataGridView のデフォルトでのツールチップテキストを非表示に設定
7. DataGridView の
8. DataGridView の
9. DataGridView の
開発環境 WindowsVista VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86
[Option Compare Text] [Option Explicit On] [Option Infer On] [Option Strict On]で設定
その他条件 使用データ(dgvdat1.csv)は、次よりダウンロードして使って下さい。        dgvdat309.zip
データファイルは、プログラムの起動フォルダーに入れておいてください。
DataGridViewに表示(その1) で、データを表示した状態で実施してください。
下記サンプルコードと同等のイベントで実施してください。 
1.DataGridView の選択範囲をクリップボードにコピー

Private Sub Button116_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button116.Click
'選択範囲をクリップボードにコピー
   Clipboard.SetDataObject(DataGridView1.GetClipboardContent())
   'そのデータをExcel上で、形式を選択して貼り付け[テキスト]で選択した表データがそのまま表示されます。
End Sub

2.DataGridView の選択された行データ(セル)をクリップボードにコピー及び取得

Private Sub Button117_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button117.Click
'別途下記のように(表示その2)で読み込み表示後、2行目を選択しておいてください。
  ' Button3.PerformClick()
  ' DataGridView1.ClearSelection()
  ' DataGridView1.Rows(1).Selected = True

'選択された行データ(セル)をクリップボードにコピー及び取得
   '(1)ヘッダーをコピーしない
   
Me.DataGridView1.ClipboardCopyMode = _
               DataGridViewClipboardCopyMode.EnableWithoutHeaderText
   '(2)選択行をクリップボードにコピー
   Clipboard.SetDataObject(
Me.DataGridView1.GetClipboardContent())


   '(3)クリップボードのデータを6行目に挿入
   
Me.DataGridView1.Rows.Insert(3, Clipboard.GetText.Split(CChar(vbTab)))

End Sub

3.DataGridView の背景色(濃いグレーの部分)を設定する

Private Sub Button118_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button118.Click
'DataGridView の背景色(濃いグレーの部分)を設定する
   DataGridView1.BackgroundColor = ColorTranslator.FromOle(RGB(255, 227, 240))
End Sub

4.DataGridView にコンテキストメニュー(ショートカットメニュー)を設定

別途、ContextMenuStrip1 コントロールを用意しておいてください

Private Sub Button35_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button35.Click

   '(1)1列目にだけ設定する場合
   DataGridView1.Columns(0).ContextMenuStrip = ContextMenuStrip1

   '(2)列ヘッダーに設定する場合

  DataGridView1.Columns(0).HeaderCell.ContextMenuStrip = ContextMenuStrip1

   '(3)1行目にだけ設定する場合
  DataGridView1.Rows(0).ContextMenuStrip = ContextMenuStrip1
 
   '(4)セル全体に対して設定する場合
   DataGridView1.ContextMenuStrip = ContextMenuStrip1

   '(5)セル個別に対して設定する場合
  DataGridView1(0, 1).ContextMenuStrip = ContextMenuStrip1

   '(6)上記設定を元に戻す場合
   DataGridView1.Columns(0).ContextMenuStrip = 
Nothing
  DataGridView1.Columns(0).HeaderCell.ContextMenuStrip = Nothing

  DataGridView1.Rows(0).ContextMenuStrip = Nothing
   DataGridView1.ContextMenuStrip = Nothing
  DataGridView1(0, 1).ContextMenuStrip =  Nothing

End Sub

5.DataGridView のセル個別に ToolTipText を表示する

Private Sub DataGridView1_MouseMove(ByVal sender As Object, _
           
ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseMove
   '今回は、便宜上セルの値を表示しておりますが、配列変数の値を表示事もできます
   
Dim pos As System.Windows.Forms.DataGridView.HitTestInfo = DataGridView1.HitTest(e.X, e.Y)
   
If pos.Type = DataGrid.HitTestType.Cell And pos.RowIndex < DataGridView1.RowCount - 1 Then
      DataGridView1.Item(pos.ColumnIndex, pos.RowIndex).ToolTipText = _
               DataGridView1.Item(pos.ColumnIndex, pos.RowIndex).Value.ToString
   
End If
End If

6.DataGridView のデフォルトでのツールチップテキストを非表示に設定

Private Sub Button47_Click(ByVal sender As System.Object, _
                           
ByVal e As System.EventArgs) Handles Button47.Click
'DataGridView のセルの内容のツールチップテキストを表示しないように設定
'セルの値がセルに表示しきれない場合、デフォルトでツールチップテキストが表示されるのがうっとおしい場合等に
   '別途、プロパティからの設定でも OK。
   DataGridView1.ShowCellToolTips = 
False
End Sub

7.DataGridView の  
8.DataGridView の  
9.DataGridView の  


2011/05/20


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0
VB.NET2003/VB2005/VB2008/VB2010