Поделиться через


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 разделе Класс .

Применяется к

См. также раздел