Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ruft die Daten ab, die sich gegenwärtig in der Zwischenablage des Systems befinden.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
Public Shared Function GetDataObject As IDataObject
'Usage
Dim returnValue As IDataObject
returnValue = Clipboard.GetDataObject
public static IDataObject GetDataObject ()
public:
static IDataObject^ GetDataObject ()
public static IDataObject GetDataObject ()
public static function GetDataObject () : IDataObject
Rückgabewert
Ein IDataObject, das die aktuell in der Zwischenablage vorhandenen Daten darstellt, oder NULL (Nothing in Visual Basic), wenn sich keine Daten in der Zwischenablage befinden.
Ausnahmen
| Ausnahmetyp | Bedingung |
|---|---|
Es konnten keine Daten aus der Zwischenablage abgerufen werden. Dies tritt i. d. R. auf, wenn die Zwischenablage von einem anderen Prozess verwendet wird. |
|
Der aktuelle Thread befindet sich nicht im STA-Modus (Singlethread-Apartment), und der Application.MessageLoop-Eigenschaftenwert lautet true. Fügen Sie der Main-Methode der Anwendung das STAThreadAttribute hinzu. |
Hinweise
Da der Datentyp des von der Zwischenablage zurückgegebenen Objekts variieren kann, gibt diese Methode die Daten in einem IDataObject zurück. Anschließend können Sie Methoden der IDataObject-Schnittstelle verwenden, um die Daten mit dem geeigneten Datentyp zu extrahieren.
Diese Methode versucht zehnmal in Intervallen von 100 Millisekunden, die Daten abzurufen. Wenn alle Versuche erfolglos waren, wird eine ExternalException ausgelöst.
Hinweis
Die Clipboard-Klasse kann nur in Threads verwendet werden, die auf den STA-Modus (Singlethread-Apartment) festgelegt sind. Stellen Sie zum Verwenden dieser Klasse sicher, dass die Main-Methode mit dem STAThreadAttribute-Attribut gekennzeichnet ist.
Beispiel
Im folgenden Codebeispiel werden mithilfe von Clipboard-Methoden Daten in der Zwischenablage des Systems abgelegt und von dort abgerufen. In diesem Code wird davon ausgegangen, dass button1, button2, textBox1 und textBox2 in einem Formular platziert wurden.
Die button1_Click-Methode ruft SetDataObject auf, um den ausgewählten Text aus dem Textfeld abzurufen und diesen in der Zwischenablage des Systems abzulegen.
Die button2_Click-Methode ruft GetDataObject auf, um Daten aus der Zwischenablage des Systems abzurufen. Der Code verwendet IDataObject und DataFormats, um die zurückgegebenen Daten zu extrahieren. Die Daten werden in textBox2 angezeigt.
Private Sub button1_Click(sender As Object, e As System.EventArgs)
' Takes the selected text from a text box and puts it on the clipboard.
If textBox1.SelectedText <> "" Then
Clipboard.SetDataObject(textBox1.SelectedText)
Else
textBox2.Text = "No text selected in textBox1"
End If
End Sub 'button1_Click
Private Sub button2_Click(sender As Object, e As System.EventArgs)
' Declares an IDataObject to hold the data returned from the clipboard.
' Retrieves the data from the clipboard.
Dim iData As IDataObject = Clipboard.GetDataObject()
' Determines whether the data is in a format you can use.
If iData.GetDataPresent(DataFormats.Text) Then
' Yes it is, so display it in a text box.
textBox2.Text = CType(iData.GetData(DataFormats.Text), String)
Else
' No it is not.
textBox2.Text = "Could not retrieve data off the clipboard."
End If
End Sub 'button2_Click
private void button1_Click(object sender, System.EventArgs e) {
// Takes the selected text from a text box and puts it on the clipboard.
if(textBox1.SelectedText != "")
Clipboard.SetDataObject(textBox1.SelectedText);
else
textBox2.Text = "No text selected in textBox1";
}
private void button2_Click(object sender, System.EventArgs e) {
// Declares an IDataObject to hold the data returned from the clipboard.
// Retrieves the data from the clipboard.
IDataObject iData = Clipboard.GetDataObject();
// Determines whether the data is in a format you can use.
if(iData.GetDataPresent(DataFormats.Text)) {
// Yes it is, so display it in a text box.
textBox2.Text = (String)iData.GetData(DataFormats.Text);
}
else {
// No it is not.
textBox2.Text = "Could not retrieve data off the clipboard.";
}
}
private:
void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Takes the selected text from a text box and puts it on the clipboard.
if ( !textBox1->SelectedText->Equals( "" ) )
{
Clipboard::SetDataObject( textBox1->SelectedText );
}
else
{
textBox2->Text = "No text selected in textBox1";
}
}
void button2_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Declares an IDataObject to hold the data returned from the clipboard.
// Retrieves the data from the clipboard.
IDataObject^ iData = Clipboard::GetDataObject();
// Determines whether the data is in a format you can use.
if ( iData->GetDataPresent( DataFormats::Text ) )
{
// Yes it is, so display it in a text box.
textBox2->Text = (String^)(iData->GetData( DataFormats::Text ));
}
else
{
// No it is not.
textBox2->Text = "Could not retrieve data off the clipboard.";
}
}
private void button1_Click(Object sender, System.EventArgs e)
{
// Takes the selected text from a text box and puts it on the clipboard.
if (!textBox1.get_SelectedText().Equals("")) {
Clipboard.SetDataObject(textBox1.get_SelectedText());
}
else {
textBox2.set_Text("No text selected in textBox1");
}
} //button1_Click
private void button2_Click(Object sender, System.EventArgs e)
{
// Declares an IDataObject to hold the data returned from the clipboard.
// Retrieves the data from the clipboard.
IDataObject iData = Clipboard.GetDataObject();
// Determines whether the data is in a format you can use.
if (iData.GetDataPresent(DataFormats.Text)) {
// Yes it is, so display it in a text box.
textBox2.set_Text((String)(iData.GetData(DataFormats.Text)));
}
else {
// No it is not.
textBox2.set_Text("Could not retrieve data off the clipboard.");
}
} //button2_Click
private function button1_Click(sender : Object, e : System.EventArgs) {
//Take the selected text from a text box and put it on the clipboard.
if(textBox1.SelectedText != "")
Clipboard.SetDataObject(textBox1.SelectedText);
else
textBox2.Text = "No text selected in textBox1";
}
private function button2_Click(sender : Object, e : System.EventArgs) {
//Declare an IDataObject to hold the data returned from the clipboard.
//Then retrieve the data from the clipboard.
var iData : IDataObject = Clipboard.GetDataObject();
//Determine whether the data is in a format you can use.
if(iData.GetDataPresent(DataFormats.Text)) {
//Yes it is, so display it in a text box.
textBox2.Text = String(iData.GetData(DataFormats.Text));
}
else {
//No it is not.
textBox2.Text = "Could not retrieve data off the clipboard.";
}
}
.NET Framework-Sicherheit
- UIPermission für den Zugriff auf die Zwischenablage des Systems. Zugeordnete Enumeration: UIPermissionClipboard.AllClipboard
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
Clipboard-Klasse
Clipboard-Member
System.Windows.Forms-Namespace
DataObject
DataFormats
SetDataObject
IDataObject