Freigeben über


DataGridView.GetClipboardContent Methode

Definition

Ruft die formatierten Werte ab, die den Inhalt der ausgewählten Zellen für das Kopieren in das Clipboard darstellen.

public:
 virtual System::Windows::Forms::DataObject ^ GetClipboardContent();
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

Gibt zurück

Ein DataObject, das den Inhalt der ausgewählten Zellen darstellt.

Ausnahmen

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie der Zwischenablage programmgesteuert ausgewählte DataGridView Inhalte hinzufügen. Dieses Beispiel ist Teil eines größeren Beispiels in How to: Enable Users to Copy Multiple Cells to the Clipboard from the Windows Forms DataGridView-Steuerelement.

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

Hinweise

Diese Methode ruft Daten ab, die den durch die ausgewählten Zellen definierten Bereich darstellen. Dieser Bereich ist das kleinste Rechteck, das alle ausgewählten Zellen enthält. Der Wert für jede ausgewählte Zelle in dieser Region wird durch Aufrufen der DataGridViewCell.GetClipboardContent -Methode abgerufen. Leere Platzhalterwerte werden für nicht ausgewählte Zellen in dieser Region verwendet. Diese Methode kombiniert diese Werte in einem DataObject , das mehrere Formate zum Kopieren in die Zwischenablage enthält. Zu den unterstützten Zwischenablageformaten gehören DataFormats.Text, DataFormats.UnicodeText, DataFormats.Htmlund DataFormats.CommaSeparatedValue.

Weitere Informationen finden Sie in den Ausführungen zur Clipboard-Klasse.

Hinweise für Vererber

Überschreiben Sie diese Methode, um benutzerdefinierte Zwischenablagewerte bereitzustellen. Dies ist beispielsweise nützlich, um das Kopieren von Werten aus benutzerdefinierten Zelltypen zu unterstützen.

Gilt für:

Weitere Informationen