DataGridView.ClipboardCopyMode Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 .