DataGridView.GetClipboardContent Méthode

Définition

Récupère les valeurs mises en forme qui représentent le contenu des cellules sélectionnées à copier dans le Clipboard.Retrieves the formatted values that represent the contents of the selected cells for copying to the Clipboard.

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

Retours

DataObject qui représente le contenu des cellules sélectionnées.A DataObject that represents the contents of the selected cells.

Exceptions

Exemples

L’exemple de code suivant montre comment ajouter par programmation le contenu DataGridView sélectionné dans le presse-papiers.The following code example demonstrates how to programmatically add selected DataGridView content to the Clipboard. Cet exemple fait partie d’un exemple plus complet disponible dans How à : Permettre aux utilisateurs de copier plusieurs cellules dans le presse-papiers à partir du contrôle DataGridView Windows Forms.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

Remarques

Cette méthode récupère les données qui représentent la région définie par les cellules sélectionnées.This method retrieves data that represents the region defined by the selected cells. Cette région est le plus petit rectangle qui comprend toutes les cellules sélectionnées.This region is the smallest rectangle that includes all of the selected cells. La valeur de chaque cellule sélectionnée dans cette région est récupérée en appelant la méthode DataGridViewCell.GetClipboardContent.The value for each selected cell in this region is retrieved by calling the DataGridViewCell.GetClipboardContent method. Des valeurs d’espace réservé vides sont utilisées pour les cellules non sélectionnées dans cette région.Blank placeholder values are used for unselected cells in this region. Cette méthode combine ces valeurs dans un DataObject contenant plusieurs formats pour la copie dans le presse-papiers.This method combines these values into a DataObject containing several formats for copying to the clipboard. Les formats de presse-papiers pris en charge sont les suivants : DataFormats.Text, DataFormats.UnicodeText, DataFormats.Html et DataFormats.CommaSeparatedValue.The supported clipboard formats include DataFormats.Text, DataFormats.UnicodeText, DataFormats.Html, and DataFormats.CommaSeparatedValue.

Pour plus d'informations, consultez la classe Clipboard.For more information, see the Clipboard class.

Notes pour les héritiers

Substituez cette méthode pour fournir des valeurs de presse-papiers personnalisées.Override this method to provide customized clipboard values. Cela est utile, par exemple, pour prendre en charge la copie de valeurs à partir de types de cellules personnalisées.This is useful, for example, to support copying values from custom cell types.

S’applique à

Voir aussi