Udostępnij za pośrednictwem


DataGridView.ClipboardCopyMode Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy użytkownicy mogą kopiować wartości tekstowe komórek do Clipboard i czy tekst nagłówka wiersza i kolumny jest uwzględniony.

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

Wartość właściwości

DataGridViewClipboardCopyMode Jedna z wartości. Wartość domyślna to EnableWithAutoHeaderText.

Atrybuty

Wyjątki

Określona wartość podczas ustawiania tej właściwości nie jest prawidłową DataGridViewClipboardCopyMode wartością.

Przykłady

W poniższym przykładzie kodu pokazano, jak włączyć kopiowanie w kontrolce DataGridView . 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

Kontrolka DataGridView kopiuje tekstową reprezentację każdej zaznaczonej komórki do Schowka. Ta wartość jest wartością komórki przekonwertowaną na ciąg lub, w przypadku komórek obrazów Description , wartość właściwości.

Wartości są kopiowane do Schowka w Textformatach , UnicodeText, Htmli CommaSeparatedValue . Te formaty są przydatne do wklejania zawartości do aplikacji, takich jak Notatnik, Microsoft Excel i Microsoft Word.

Kontrolka DataGridView kopiuje komórki zawarte w najmniejszym prostokątze zawierającym wszystkie zaznaczone komórki. Wiersze i kolumny, które nie zawierają żadnych zaznaczonych komórek, nie są reprezentowane w skopiowanych danych. Wszystkie niezaznaczone komórki w pozostałych wierszach i kolumnach są reprezentowane przez puste symbole zastępcze. W zależności od trybu kopiowania i trybu zaznaczenia można również skopiować wartości nagłówków skopiowanych wierszy i kolumn.

Gdy użytkownicy kopiują zawartość, kontrolka DataGridView dodaje DataObject element do Schowka. Ten obiekt danych jest pobierany z GetClipboardContent metody . Tę metodę można wywołać, gdy chcesz programowo dodać obiekt danych do Schowka.

Metoda GetClipboardContent pobiera wartości dla poszczególnych komórek, wywołując metodę DataGridViewCell.GetClipboardContent . Można zastąpić obie te metody w klasach pochodnych, aby dostosować układ skopiowanych komórek lub obsługiwać dodatkowe formaty danych.

Aby uzyskać więcej informacji na temat operacji schowka i formatów danych, zobacz klasę Clipboard .

Dotyczy

Zobacz też