DataGridView.ClipboardCopyMode プロパティ

定義

ユーザーがセル テキスト値を Clipboard にコピーできるかどうか、および行と列のヘッダー テキストが含まれるかどうかを示す値を取得または設定します。

public:
 property System::Windows::Forms::DataGridViewClipboardCopyMode ClipboardCopyMode { System::Windows::Forms::DataGridViewClipboardCopyMode get(); void set(System::Windows::Forms::DataGridViewClipboardCopyMode value); };
[System.ComponentModel.Browsable(true)]
public System.Windows.Forms.DataGridViewClipboardCopyMode ClipboardCopyMode { get; set; }
[<System.ComponentModel.Browsable(true)>]
member this.ClipboardCopyMode : System.Windows.Forms.DataGridViewClipboardCopyMode with get, set
Public Property ClipboardCopyMode As DataGridViewClipboardCopyMode

プロパティ値

DataGridViewClipboardCopyMode 値のいずれか 1 つ。 既定値は、EnableWithAutoHeaderText です。

属性

例外

このプロパティの設定時に指定した値が、有効な DataGridViewClipboardCopyMode 値ではありません。

次のコード例は、 コントロールでコピーを有効にする方法を DataGridView 示しています。 この例は、「方法: ユーザーが Windows フォーム DataGridView コントロールからクリップボードに複数のセルをコピーできるようにする」で使用できるより大きな例の一部です。

private void Form1_Load(object sender, System.EventArgs e)
{
    // Initialize the DataGridView control.
    this.DataGridView1.ColumnCount = 5;
    this.DataGridView1.Rows.Add(new string[] { "A", "B", "C", "D", "E" });
    this.DataGridView1.Rows.Add(new string[] { "F", "G", "H", "I", "J" });
    this.DataGridView1.Rows.Add(new string[] { "K", "L", "M", "N", "O" });
    this.DataGridView1.Rows.Add(new string[] { "P", "Q", "R", "S", "T" });
    this.DataGridView1.Rows.Add(new string[] { "U", "V", "W", "X", "Y" });
    this.DataGridView1.AutoResizeColumns();
    this.DataGridView1.ClipboardCopyMode = 
        DataGridViewClipboardCopyMode.EnableWithoutHeaderText;
}

private void CopyPasteButton_Click(object sender, System.EventArgs e)
{
    if (this.DataGridView1
        .GetCellCount(DataGridViewElementStates.Selected) > 0)
    {
        try
        {
            // Add the selection to the clipboard.
            Clipboard.SetDataObject(
                this.DataGridView1.GetClipboardContent());
            
            // Replace the text box contents with the clipboard text.
            this.TextBox1.Text = Clipboard.GetText();
        }
        catch (System.Runtime.InteropServices.ExternalException)
        {
            this.TextBox1.Text = 
                "The Clipboard could not be accessed. Please try again.";
        }
    }
}
Private Sub Form1_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Me.Load

    ' Initialize the DataGridView control.
    Me.DataGridView1.ColumnCount = 5
    Me.DataGridView1.Rows.Add(New String() {"A", "B", "C", "D", "E"})
    Me.DataGridView1.Rows.Add(New String() {"F", "G", "H", "I", "J"})
    Me.DataGridView1.Rows.Add(New String() {"K", "L", "M", "N", "O"})
    Me.DataGridView1.Rows.Add(New String() {"P", "Q", "R", "S", "T"})
    Me.DataGridView1.Rows.Add(New String() {"U", "V", "W", "X", "Y"})
    Me.DataGridView1.AutoResizeColumns()
    Me.DataGridView1.ClipboardCopyMode = _
        DataGridViewClipboardCopyMode.EnableWithoutHeaderText

End Sub

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

    If Me.DataGridView1.GetCellCount( _
        DataGridViewElementStates.Selected) > 0 Then

        Try

            ' Add the selection to the clipboard.
            Clipboard.SetDataObject( _
                Me.DataGridView1.GetClipboardContent())

            ' Replace the text box contents with the clipboard text.
            Me.TextBox1.Text = Clipboard.GetText()

        Catch ex As System.Runtime.InteropServices.ExternalException
            Me.TextBox1.Text = _
                "The Clipboard could not be accessed. Please try again."
        End Try

    End If

End Sub

注釈

コントロールは DataGridView 、選択した各セルのテキスト表現をクリップボードにコピーします。 この値は、文字列に変換されたセル値、またはイメージ セルの場合は プロパティの Description 値です。

値は、、UnicodeTextHtmlおよび CommaSeparatedValue の形式でクリップボードにTextコピーされます。 これらの形式は、メモ帳、Microsoft Excel、Microsoft Wordなどのアプリケーションにコンテンツを貼り付ける場合に便利です。

コントロールは DataGridView 、選択したすべてのセルを含む最小の四角形に含まれるセルをコピーします。 選択したセルを含まない行と列は、コピーされたデータでは表されません。 残りの行と列の選択されていないセルは、空白のプレースホルダーで表されます。 コピー モードと選択モードによっては、コピーした行と列のヘッダー値もコピーされる場合があります。

ユーザーがコンテンツをコピーすると、コントロールによって DataGridView クリップボードに が DataObject 追加されます。 このデータ オブジェクトは、 メソッドから GetClipboardContent 取得されます。 プログラムによってデータ オブジェクトをクリップボードに追加する場合は、このメソッドを呼び出すことができます。

メソッドは GetClipboardContent 、 メソッドを呼び出して個々のセルの値を DataGridViewCell.GetClipboardContent 取得します。 派生クラスでこれらのメソッドのいずれかまたは両方をオーバーライドして、コピーしたセルのレイアウトをカスタマイズしたり、追加のデータ形式をサポートしたりできます。

クリップボードの操作とデータ形式の詳細については、 クラスを Clipboard 参照してください。

適用対象

こちらもご覧ください