Udostępnij za pośrednictwem


DataGridView.GetClipboardContent Metoda

Definicja

Pobiera sformatowane wartości reprezentujące zawartość zaznaczonych komórek do skopiowania do obiektu Clipboard.

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

Zwraca

Obiekt DataObject reprezentujący zawartość zaznaczonych komórek.

Wyjątki

ClipboardCopyMode parametr jest ustawiony na Disablewartość .

Przykłady

W poniższym przykładzie kodu pokazano, jak programowo dodać wybraną DataGridView zawartość do Schowka. Ten przykład jest częścią większego przykładu dostępnego w temacie Instrukcje: umożliwianie użytkownikom kopiowania wielu komórek do Schowka z kontrolki Windows Forms 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

Uwagi

Ta metoda pobiera dane reprezentujące region zdefiniowany przez zaznaczone komórki. Ten region jest najmniejszym prostokątem zawierającym wszystkie zaznaczone komórki. Wartość dla każdej wybranej komórki w tym regionie jest pobierana przez wywołanie DataGridViewCell.GetClipboardContent metody . Puste wartości zastępcze są używane dla niezaznakowanych komórek w tym regionie. Ta metoda łączy te wartości w DataObject format zawierający kilka formatów do kopiowania do schowka. Obsługiwane formaty schowka obejmują DataFormats.Text: , DataFormats.UnicodeText, DataFormats.Htmli DataFormats.CommaSeparatedValue.

Aby uzyskać więcej informacji, zobacz klasę Clipboard .

Uwagi dotyczące dziedziczenia

Zastąpij tę metodę, aby zapewnić dostosowane wartości schowka. Jest to przydatne na przykład do obsługi kopiowania wartości z niestandardowych typów komórek.

Dotyczy

Zobacz też