DataGridView.ClipboardCopyMode Proprietà

Definizione

Ottiene o imposta un valore che indica se gli utenti possono copiare i valori di testo delle celle in Clipboard e se deve essere incluso il testo delle intestazioni di riga e di colonna.

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

Valore della proprietà

Uno dei valori di DataGridViewClipboardCopyMode. Il valore predefinito è EnableWithAutoHeaderText.

Attributi

Eccezioni

Il valore specificato durante l'impostazione di questa proprietà non è un valore valido di DataGridViewClipboardCopyMode.

Esempio

Nell'esempio di codice seguente viene illustrato come abilitare la copia nel DataGridView controllo . Questo esempio fa parte di un esempio più ampio disponibile in How to: Enable Users to Copy Multiple Cells to the Clipboard from the Windows Forms DataGridView Control.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

Commenti

Il DataGridView controllo copia negli Appunti la rappresentazione testuale di ogni cella selezionata. Questo valore è il valore della cella convertito in una stringa o, per le celle dell'immagine, il valore della Description proprietà .

I valori vengono copiati negli Appunti in Textformati , UnicodeText, Htmle CommaSeparatedValue . Questi formati sono utili per incollare contenuto in applicazioni come Blocco note, Microsoft Excel e Microsoft Word.

Il DataGridView controllo copia le celle contenute nel rettangolo più piccolo che include tutte le celle selezionate. Le righe e le colonne che non contengono celle selezionate non sono rappresentate nei dati copiati. Le celle non selezionate nelle righe e nelle colonne rimanenti sono rappresentate da segnaposto vuoti. A seconda della modalità di copia e della modalità di selezione, è possibile copiare anche i valori di intestazione per le righe e le colonne copiate.

Quando gli utenti copiano il contenuto, il DataGridView controllo aggiunge un DataObject oggetto agli Appunti. Questo oggetto dati viene recuperato dal GetClipboardContent metodo . È possibile chiamare questo metodo quando si desidera aggiungere a livello di codice l'oggetto dati agli Appunti.

Il GetClipboardContent metodo recupera i valori per le singole celle chiamando il DataGridViewCell.GetClipboardContent metodo . È possibile eseguire l'override di uno o entrambi questi metodi nelle classi derivate per personalizzare il layout delle celle copiate o per supportare formati di dati aggiuntivi.

Per altre informazioni sulle operazioni degli Appunti e sui formati di dati, vedere la Clipboard classe .

Si applica a

Vedi anche