DataGridView.ClipboardCopyMode Propiedad

Definición

Obtiene o establece un valor que indica si los usuarios pueden copiar los valores de texto de la celda al Clipboard y si se incluye el texto de los encabezados de fila y columna.

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

Valor de propiedad

Uno de los valores de DataGridViewClipboardCopyMode. De manera predeterminada, es EnableWithAutoHeaderText.

Atributos

Excepciones

El valor especificado al establecer esta propiedad no es un valor de DataGridViewClipboardCopyMode válido.

Ejemplos

En el ejemplo de código siguiente se muestra cómo habilitar la copia en el DataGridView control . Este ejemplo forma parte de un ejemplo más grande disponible en 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

Comentarios

El DataGridView control copia la representación de texto de cada celda seleccionada en el Portapapeles. Este valor es el valor de celda convertido en una cadena o, para las celdas de imagen, el valor de la Description propiedad .

Los valores se copian en el Portapapeles en Textformatos , UnicodeText, Htmly CommaSeparatedValue . Estos formatos son útiles para pegar contenido en aplicaciones como bloc de notas, Microsoft Excel y Microsoft Word.

El DataGridView control copia las celdas contenidas en el rectángulo más pequeño que incluye todas las celdas seleccionadas. Las filas y columnas que no contienen ninguna celda seleccionada no se representan en los datos copiados. Las celdas no seleccionadas de las filas y columnas restantes se representan mediante marcadores de posición en blanco. Según el modo de copia y el modo de selección, también se pueden copiar los valores de encabezado de las filas y columnas copiadas.

Cuando los usuarios copian contenido, el DataGridView control agrega un DataObject elemento al Portapapeles. Este objeto de datos se recupera del GetClipboardContent método . Puede llamar a este método cuando desee agregar mediante programación el objeto de datos al Portapapeles.

El GetClipboardContent método recupera los valores de las celdas individuales mediante una llamada al DataGridViewCell.GetClipboardContent método . Puede invalidar o ambos métodos en clases derivadas para personalizar el diseño de las celdas copiadas o para admitir formatos de datos adicionales.

Para obtener más información sobre las operaciones del Portapapeles y los formatos de datos, vea la Clipboard clase .

Se aplica a

Consulte también