DataGridView.GetClipboardContent メソッド

定義

Clipboard にコピーするために、選択されたセルの内容を表す書式設定された値を取得します。Retrieves the formatted values that represent the contents of the selected cells for copying to the Clipboard.

public:
 virtual System::Windows::Forms::DataObject ^ GetClipboardContent();
public virtual System.Windows.Forms.DataObject GetClipboardContent ();
abstract member GetClipboardContent : unit -> System.Windows.Forms.DataObject
override this.GetClipboardContent : unit -> System.Windows.Forms.DataObject
Public Overridable Function GetClipboardContent () As DataObject

戻り値

選択されたセルの内容を表す DataObjectA DataObject that represents the contents of the selected cells.

例外

次のコード例は、選択した DataGridView コンテンツをプログラムによってクリップボードに追加する方法を示しています。The following code example demonstrates how to programmatically add selected DataGridView content to the Clipboard. この例は、@no__t で使用できる大規模な例の一部であり、次の方法で使用できます。ユーザーが Windows フォーム DataGridView コントロール @ no__t からクリップボードに複数のセルをコピーできるようにします。This example is part of a larger example available in How to: Enable Users to Copy Multiple Cells to the Clipboard from the Windows Forms DataGridView Control.

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

注釈

このメソッドは、選択したセルによって定義された領域を表すデータを取得します。This method retrieves data that represents the region defined by the selected cells. この領域は、選択されたすべてのセルを含む最小の四角形です。This region is the smallest rectangle that includes all of the selected cells. この領域で選択されている各セルの値は、DataGridViewCell.GetClipboardContent メソッドを呼び出すことによって取得されます。The value for each selected cell in this region is retrieved by calling the DataGridViewCell.GetClipboardContent method. 空白のプレースホルダー値は、この領域の選択されていないセルに使用されます。Blank placeholder values are used for unselected cells in this region. このメソッドは、これらの値を、クリップボードにコピーするための複数の形式を含む @no__t 0 に結合します。This method combines these values into a DataObject containing several formats for copying to the clipboard. サポートされているクリップボード形式には、DataFormats.TextDataFormats.UnicodeTextDataFormats.Html、および DataFormats.CommaSeparatedValue があります。The supported clipboard formats include DataFormats.Text, DataFormats.UnicodeText, DataFormats.Html, and DataFormats.CommaSeparatedValue.

詳細については、Clipboard クラスを参照してください。For more information, see the Clipboard class.

注意 (継承者)

カスタマイズされたクリップボードの値を提供するには、このメソッドをオーバーライドします。Override this method to provide customized clipboard values. これは、カスタムセル型からの値のコピーをサポートする場合などに便利です。This is useful, for example, to support copying values from custom cell types.

適用対象

こちらもご覧ください