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 элементе управления. Этот пример является частью более крупного примера, доступного в разделе "Практическое руководство. Включение пользователей для копирования нескольких ячеек в буфер обмена из элемента управления DataGridView в Windows Forms".
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формате , UnicodeTextHtmlи CommaSeparatedValue форматов. Эти форматы полезны для вставки содержимого в такие приложения, как Блокнот, Microsoft Excel и Microsoft Word.
Элемент DataGridView управления копирует ячейки, содержащиеся в наименьшем прямоугольнике, включающее все выбранные ячейки. Строки и столбцы, не содержащие выделенные ячейки, не представлены в скопированных данных. Все неизбранные ячейки в оставшихся строках и столбцах представлены пустыми заполнителями. В зависимости от режима копирования и режима выбора значения заголовков для скопированных строк и столбцов также могут быть скопированы.
При копировании содержимого элемент DataGridView управления добавляется DataObject в буфер обмена. Этот объект данных извлекается из GetClipboardContent метода. Этот метод можно вызвать, когда вы хотите программно добавить объект данных в буфер обмена.
Метод GetClipboardContent получает значения для отдельных ячеек путем вызова DataGridViewCell.GetClipboardContent метода. Можно переопределить любой из этих методов в производных классах для настройки макета скопированных ячеек или для поддержки дополнительных форматов данных.
Дополнительные сведения об операциях буфера обмена и форматах данных см. в Clipboard классе.