DataGridView.GetClipboardContent Yöntem

Tanım

öğesine kopyalamak Clipboardiçin seçili hücrelerin içeriğini temsil eden biçimlendirilmiş değerleri alır.

public:
 virtual System::Windows::Forms::DataObject ^ GetClipboardContent();
public virtual System.Windows.Forms.DataObject GetClipboardContent ();
public virtual System.Windows.Forms.DataObject? GetClipboardContent ();
abstract member GetClipboardContent : unit -> System.Windows.Forms.DataObject
override this.GetClipboardContent : unit -> System.Windows.Forms.DataObject
Public Overridable Function GetClipboardContent () As DataObject

Döndürülenler

DataObject Seçili hücrelerin içeriğini temsil eden bir.

Özel durumlar

Örnekler

Aşağıdaki kod örneği, seçili DataGridView içeriğin panoya program aracılığıyla nasıl ekleneceğini gösterir. Bu örnek, How to: Enable Users to Copy Multiple Cells to The Clipboard from the Windows Forms DataGridView Control bölümünde bulunan daha büyük bir örneğin bir parçasıdır.

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

Açıklamalar

Bu yöntem, seçili hücreler tarafından tanımlanan bölgeyi temsil eden verileri alır. Bu bölge, seçili hücrelerin tümünü içeren en küçük dikdörtgendir. Bu bölgedeki seçili her hücrenin değeri yöntemi çağrılarak DataGridViewCell.GetClipboardContent alınır. Bu bölgedeki seçilmemiş hücreler için boş yer tutucu değerleri kullanılır. Bu yöntem, bu değerleri panoya kopyalamak için çeşitli biçimler içeren bir şekilde birleştirir DataObject . Desteklenen pano biçimleri , DataFormats.UnicodeText, DataFormats.Htmlve DataFormats.CommaSeparatedValuebiçimlerini içerirDataFormats.Text.

Daha fazla bilgi için sınıfına Clipboard bakın.

Devralanlara Notlar

Özelleştirilmiş pano değerleri sağlamak için bu yöntemi geçersiz kılın. Bu, örneğin, özel hücre türlerinden değerleri kopyalamayı desteklemek için yararlıdır.

Şunlara uygulanır

Ayrıca bkz.