DataGridView.ClipboardCopyMode Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает значение, указывающее, могут ли пользователи копировать текстовые значения ячеек в объект Clipboard, а также включается ли в копирование текст заголовка строки и столбца.
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
Значение свойства
Одно из значений перечисления DataGridViewClipboardCopyMode. Значение по умолчанию — EnableWithAutoHeaderText.
- Атрибуты
Исключения
Указанное при задании этого свойства значение не является допустимым значением DataGridViewClipboardCopyMode.
Примеры
В следующем примере кода показано, как включить копирование в элементе DataGridView управления . Этот пример является частью более крупного примера, доступного в разделе 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
Комментарии
Элемент DataGridView управления копирует текстовое представление каждой выделенной ячейки в буфер обмена. Это значение представляет собой значение ячейки, преобразованное в строку, или значение Description свойства для ячеек изображения.
Значения копируются в буфер обмена в Textформатах , UnicodeText, Htmlи CommaSeparatedValue . Эти форматы полезны для вставки содержимого в такие приложения, как Блокнот, Microsoft Excel и Microsoft Word.
Элемент DataGridView управления копирует ячейки, содержащиеся в наименьшем прямоугольнике, который включает все выделенные ячейки. Строки и столбцы, не содержащие выделенных ячеек, не представлены в скопированных данных. Все невыделенные ячейки в оставшихся строках и столбцах представлены пустыми заполнителями. В зависимости от режима копирования и режима выбора также могут быть скопированы значения заголовков для скопированных строк и столбцов.
Когда пользователи копируют содержимое DataGridView , элемент управления добавляет в DataObject буфер обмена. Этот объект данных извлекается из GetClipboardContent метода . Этот метод можно вызвать, если требуется программным способом добавить объект данных в буфер обмена.
Метод GetClipboardContent извлекает значения для отдельных ячеек, вызывая DataGridViewCell.GetClipboardContent метод . Вы можете переопределить один или оба этих метода в производных классах для настройки макета скопированных ячеек или для поддержки дополнительных форматов данных.
Дополнительные сведения об операциях буфера обмена и форматах данных см. в Clipboard разделе Класс .