Condividi tramite


DataGridView.ClipboardCopyMode Proprietà

Definizione

Ottiene o imposta un valore che indica se gli utenti possono copiare i valori di testo della cella nell'oggetto Clipboard e se il testo dell'intestazione di riga e colonna è incluso.

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 DataGridViewClipboardCopyMode valori. Il valore predefinito è EnableWithAutoHeaderText.

Attributi

Eccezioni

Il valore specificato quando si imposta questa proprietà non è un valore valido 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 Procedura: Consentire agli utenti di copiare più celle negli Appunti dal controllo DataGridView di Windows Form.

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 la rappresentazione testuale di ogni cella selezionata negli Appunti. 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 , UnicodeTextHtml, e 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. Tutte 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 oggetto DataObject agli Appunti. Questo oggetto dati viene recuperato dal GetClipboardContent metodo . È possibile chiamare questo metodo quando si desidera aggiungere l'oggetto dati negli Appunti a livello di codice.

Il GetClipboardContent metodo recupera i valori per 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