DataGridView.GetClipboardContent Metoda

Definicja

Pobiera sformatowane wartości reprezentujące zawartość wybranych komórek do skopiowania do 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

Zwraca

DataObject

DataObjectReprezentujący zawartość zaznaczonych komórek.A DataObject that represents the contents of the selected cells.

Wyjątki

Przykłady

W poniższym przykładzie kodu pokazano, jak programowo dodać wybraną DataGridView zawartość do Schowka.The following code example demonstrates how to programmatically add selected DataGridView content to the Clipboard. Ten przykład jest częścią większego przykładu dostępnego w sposób: umożliwienie użytkownikom kopiowania wielu komórek do schowka z Windows Forms formantu DataGridView.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

Uwagi

Ta metoda pobiera dane, które reprezentują region zdefiniowany przez zaznaczone komórki.This method retrieves data that represents the region defined by the selected cells. Ten region to najmniejszy prostokąt obejmujący wszystkie zaznaczone komórki.This region is the smallest rectangle that includes all of the selected cells. Wartość dla każdej zaznaczonej komórki w tym regionie jest pobierana przez wywołanie DataGridViewCell.GetClipboardContent metody.The value for each selected cell in this region is retrieved by calling the DataGridViewCell.GetClipboardContent method. Puste wartości symboli zastępczych są używane dla niezaznaczonych komórek w tym regionie.Blank placeholder values are used for unselected cells in this region. Ta metoda łączy te wartości w DataObject zawierający kilka formatów do kopiowania do Schowka.This method combines these values into a DataObject containing several formats for copying to the clipboard. Obsługiwane formaty schowka obejmują DataFormats.Text , DataFormats.UnicodeText , DataFormats.Html , i DataFormats.CommaSeparatedValue .The supported clipboard formats include DataFormats.Text, DataFormats.UnicodeText, DataFormats.Html, and DataFormats.CommaSeparatedValue.

Aby uzyskać więcej informacji, zobacz Clipboard Klasa.For more information, see the Clipboard class.

Uwagi dotyczące dziedziczenia

Zastąp tę metodę, aby podać dostosowane wartości Schowka.Override this method to provide customized clipboard values. Jest to przydatne na przykład do obsługi kopiowania wartości z niestandardowych typów komórek.This is useful, for example, to support copying values from custom cell types.

Dotyczy

Zobacz też