Freigeben über


IDataObject.SetData Methode

Definition

Speichert die angegebenen Daten und das ihnen zugeordnete Format in dieser Instanz.

Überlädt

SetData(Object)

Speichert die angegebenen Daten in dieser Instanz, wobei die Klasse der Daten für das Format verwendet wird.

SetData(String, Object)

Speichert die angegebenen Daten und das ihnen zugeordnete Format in dieser Instanz.

SetData(Type, Object)

Speichert die angegebenen Daten und den zugeordneten Klassentyp in dieser Instanz.

SetData(String, Boolean, Object)

Speichert die angegebenen Daten in dieser Instanz, wobei die Klasse der Daten für das Format verwendet wird. Dabei gibt ein boolescher Wert an, ob die Daten in ein anderes Format konvertiert werden können.

SetData(Object)

Speichert die angegebenen Daten in dieser Instanz, wobei die Klasse der Daten für das Format verwendet wird.

public:
 void SetData(System::Object ^ data);
public void SetData (object data);
public void SetData (object? data);
abstract member SetData : obj -> unit
Public Sub SetData (data As Object)

Parameter

data
Object

Die zu speichernden Daten.

Beispiele

In diesem Beispiel wird die DataObject -Klasse verwendet, die implementiert IDataObject, um die Verwendung der SetData -Methode zu veranschaulichen. Zunächst wird eine Komponente (myComponent) erstellt und in einem Datenobjekt (myDataObject) gespeichert. Anschließend wird überprüft, ob die angegebenen Daten im Datenobjekt gespeichert sind, und das Ergebnis wird in einem Meldungsfeld angezeigt. Im Beispiel wird davon ausgegangen, dass Sie einen Form mit dem Namen Form1erstellt haben.

private:
   void SetData1()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Creates a data object.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Adds the component to the data object.
      myDataObject->SetData( myComponent );
      
      // Checks whether data of the specified type is in the data object.
      Type^ myType = myComponent->GetType();
      String^ myMessageText;
      if ( myDataObject->GetDataPresent( myType ) )
      {
         myMessageText = "Data of type " + myType->Name +
            " is present in the data object";
      }
      else
      {
         myMessageText = "Data of type " + myType->Name +
            " is not present in the data object";
      }
      
      // Displays the result in a message box.
      MessageBox::Show( myMessageText, "The Test Result" );
   }
private void SetData1() 
{
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Creates a data object.
    DataObject myDataObject = new DataObject();

    // Adds the component to the data object.
    myDataObject.SetData(myComponent);
 
    // Checks whether data of the specified type is in the data object.
    Type myType = myComponent.GetType();
    string myMessageText;
    if(myDataObject.GetDataPresent(myType))
         myMessageText = "Data of type " + myType.Name + 
            " is present in the data object";
    else
        myMessageText = "Data of type " + myType.Name +
            " is not present in the data object";

    // Displays the result in a message box.
    MessageBox.Show(myMessageText, "The Test Result"); 
}
Private Sub SetData1()
   ' Creates a component to store in the data object.
   Dim myComponent As New System.ComponentModel.Component()
   
   ' Creates a data object.
   Dim myDataObject As New DataObject()
   
   ' Adds the component to the data object.
   myDataObject.SetData(myComponent)
   
   ' Checks whether data of the specified type is in the data object.
   Dim myType As Type = myComponent.GetType()
   Dim myMessageText As String
   If myDataObject.GetDataPresent(myType) Then
      myMessageText = "Data of type " + myType.Name + " is present in the data object"
   Else
      myMessageText = "Data of type " + myType.Name + " is not present in the data object"
   End If

   ' Displays the result in a message box.
   MessageBox.Show(myMessageText, "The Test Result")
End Sub

Hinweise

Das Format wird von der Datenklasse abgeleitet.

Mit dieser Methode gespeicherte Daten können beim Abrufen in ein kompatibles Format konvertiert werden.

Eine Implementierung dieser Methode finden Sie unter DataObject.SetData.

Weitere Informationen

Gilt für:

SetData(String, Object)

Speichert die angegebenen Daten und das ihnen zugeordnete Format in dieser Instanz.

public:
 void SetData(System::String ^ format, System::Object ^ data);
public void SetData (string format, object data);
public void SetData (string format, object? data);
abstract member SetData : string * obj -> unit
Public Sub SetData (format As String, data As Object)

Parameter

format
String

Das den Daten zugeordnete Format. Vordefinierte Formate finden Sie unter DataFormats.

data
Object

Die zu speichernden Daten.

Beispiele

In diesem Beispiel wird die DataObject -Klasse verwendet, die implementiert IDataObject, um die Verwendung der SetData -Methode zu veranschaulichen. Zunächst wird ein Datenobjekt (myDataObject) erstellt und eine Zeichenfolge im -Objekt gespeichert, das das UnicodeText Format angibt. Anschließend werden die Daten abgerufen, die in dem Objekt gespeichert sind, das das Text Format angibt, sodass die Daten in das Text Format konvertiert werden. Das Ergebnis wird in einem Meldungsfeld angezeigt. In diesem Beispiel wird davon ausgegangen, dass Sie einen Form mit dem Namen Form1erstellt haben.

private:
   void SetData2()
   {
      // Creates a data object.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Stores a string, specifying the UnicodeText format.
      myDataObject->SetData( DataFormats::UnicodeText, "Hello World!" );
      
      // Retrieves the data by specifying the Text format.
      String^ myMessageText = "The data type is " +
         myDataObject->GetData( DataFormats::Text )->GetType()->Name;
      
      // Displays the result.
      MessageBox::Show( myMessageText, "The Test Result" );
   }
private void SetData2() 
{
    // Creates a data object.
    DataObject myDataObject = new DataObject();
 
    // Stores a string, specifying the UnicodeText format.
    myDataObject.SetData(DataFormats.UnicodeText, "Hello World!");
 
    // Retrieves the data by specifying the Text format.
    string myMessageText = "The data type is " + myDataObject.GetData(DataFormats.Text).GetType().Name;

    // Displays the result.
    MessageBox.Show(myMessageText, "The Test Result");
}
Private Sub SetData2()
   ' Creates a data object.
   Dim myDataObject As New DataObject()
   
   ' Stores a string, specifying the UnicodeText format.
   myDataObject.SetData(DataFormats.UnicodeText, "Hello World!")
   
   ' Retrieves the data by specifying the Text format.
   Dim myMessageText As String = "The data type is " & _
             myDataObject.GetData(DataFormats.Text).GetType().Name
   
   ' Displays the result.
   MessageBox.Show(myMessageText, "The Test Result")
End Sub

Hinweise

Wenn Sie das Format der Zielanwendung nicht kennen, können Sie Mit dieser Methode Daten in mehreren Formaten speichern.

Mit dieser Methode gespeicherte Daten können beim Abrufen in ein kompatibles Format konvertiert werden.

Eine Implementierung dieser Methode finden Sie unter DataObject.SetData.

Weitere Informationen

Gilt für:

SetData(Type, Object)

Speichert die angegebenen Daten und den zugeordneten Klassentyp in dieser Instanz.

public:
 void SetData(Type ^ format, System::Object ^ data);
public void SetData (Type format, object data);
public void SetData (Type format, object? data);
abstract member SetData : Type * obj -> unit
Public Sub SetData (format As Type, data As Object)

Parameter

format
Type

Ein Type, der das den Daten zugeordnete Format darstellt. Vordefinierte Formate finden Sie unter DataFormats.

data
Object

Die zu speichernden Daten.

Beispiele

In diesem Beispiel wird die DataObject -Klasse verwendet, die implementiert IDataObject, um die Verwendung der SetData -Methode zu veranschaulichen. Zunächst wird eine Komponente (myComponent) erstellt und in einem Datenobjekt (myDataObject) gespeichert, wobei myType das Datenformat angegeben wird. Anschließend wird überprüft, ob die Daten des angegebenen Typs im Objekt gespeichert sind, und das Ergebnis wird in einem Meldungsfeld angezeigt. Im Beispiel wird davon ausgegangen, dass Sie einen Form mit dem Namen Form1erstellt haben.

private:
   void SetData3()
   {
      // Creates a component.
      Component^ myComponent = gcnew Component;
      
      // Gets the type of the component.
      Type^ myType = myComponent->GetType();
      
      // Creates a data object.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Stores the component in the data object.
      myDataObject->SetData( myType, myComponent );
      
      // Checks whether data of the specified type is in the data object.
      String^ myMessageText;
      if ( myDataObject->GetDataPresent( myType ) )
      {
         myMessageText = "Data of type " + myType->Name +
            " is stored in the data object";
      }
      else
      {
         myMessageText = "No data of type " + myType->Name +
            " is stored in the data object";
      }
      
      // Displays the result.
      MessageBox::Show( myMessageText, "The Test Result" );
   }
private void SetData3() 
{
    // Creates a component.
    Component myComponent = new Component();
 
    // Gets the type of the component.
    Type myType = myComponent.GetType();
 
    // Creates a data object.
    DataObject myDataObject = new DataObject();
 
    // Stores the component in the data object.
    myDataObject.SetData(myType, myComponent);
 
    // Checks whether data of the specified type is in the data object.
    string myMessageText;
    if(myDataObject.GetDataPresent(myType))
        myMessageText = "Data of type " + myType.Name + 
            " is stored in the data object";
    else
        myMessageText = "No data of type " + myType.Name +
            " is stored in the data object";
            
    // Displays the result.
    MessageBox.Show(myMessageText, "The Test Result");
}
Private Sub SetData3()
   ' Creates a component.
   Dim myComponent As New System.ComponentModel.Component()
   
   ' Gets the type of the component.
   Dim myType As Type = myComponent.GetType()
   
   ' Creates a data object.
   Dim myDataObject As New DataObject()
   
   ' Stores the component in the data object.
   myDataObject.SetData(myType, myComponent)
   
   ' Checks whether data of the specified type is in the data object.
   Dim myMessageText As String
   If myDataObject.GetDataPresent(myType) Then
      myMessageText = "Data of type " & myType.Name & " is stored in the data object"
   Else
      myMessageText = "No data of type " & myType.Name & " is stored in the data object"
   End If
   
   ' Displays the result.
   MessageBox.Show(myMessageText, "The Test Result")
End Sub

Hinweise

Wenn Sie das Format der Zielanwendung nicht kennen, können Sie Mit dieser Methode Daten in mehreren Formaten speichern.

Mit dieser Methode gespeicherte Daten können beim Abrufen in ein kompatibles Format konvertiert werden.

Eine Implementierung dieser Methode finden Sie unter DataObject.SetData.

Weitere Informationen

Gilt für:

SetData(String, Boolean, Object)

Speichert die angegebenen Daten in dieser Instanz, wobei die Klasse der Daten für das Format verwendet wird. Dabei gibt ein boolescher Wert an, ob die Daten in ein anderes Format konvertiert werden können.

public:
 void SetData(System::String ^ format, bool autoConvert, System::Object ^ data);
public void SetData (string format, bool autoConvert, object data);
public void SetData (string format, bool autoConvert, object? data);
abstract member SetData : string * bool * obj -> unit
Public Sub SetData (format As String, autoConvert As Boolean, data As Object)

Parameter

format
String

Das den Daten zugeordnete Format. Vordefinierte Formate finden Sie unter DataFormats.

autoConvert
Boolean

true, um die Konvertierung der Daten in ein anderes Format zuzulassen, andernfalls false.

data
Object

Die zu speichernden Daten.

Beispiele

In diesem Beispiel wird die DataObject -Klasse verwendet, die implementiert IDataObject, um die Verwendung der SetData -Methode zu veranschaulichen. Zunächst wird ein Datenobjekt (myDataObject) erstellt und eine UnicodeText Zeichenfolge darin gespeichert, wobei der autoConvert Parameter auf falsefestgelegt ist. Anschließend ruft es das Format ab, das den im Objekt gespeicherten Daten zugeordnet ist, und zeigt das Ergebnis in einem Meldungsfeld an. Das einzige Format, das den Daten zugeordnet ist, ist das UnicodeText Format. In diesem Beispiel wird davon ausgegangen, dass Sie einen Form mit dem Namen Form1erstellt haben.

private:
   void SetData4()
   {
      // Creates a new data object.
      DataObject^ myDataObject = gcnew DataObject;

      // Adds UnicodeText string to the object, and set the autoConvert
      // parameter to false.
      myDataObject->SetData( DataFormats::UnicodeText, false, "My text String*" );

      // Gets the data format(s) in the data object.
      array<String^>^arrayOfFormats = myDataObject->GetFormats();

      // Stores the results in a string.
      String^ theResult = "The format(s) associated with the data are: \n";
      for ( int i = 0; i < arrayOfFormats->Length; i++ )
         theResult = theResult + arrayOfFormats[ i ], " \n";

      // Show the results in a message box.
      MessageBox::Show( theResult );
   }
       private void SetData4() 
       {
           // Creates a new data object.
           DataObject myDataObject = new DataObject();

           // Adds UnicodeText string to the object, and set the autoConvert 
           // parameter to false.
           myDataObject.SetData(DataFormats.UnicodeText, false, "My text string");

           // Gets the data format(s) in the data object.
           String[] arrayOfFormats = myDataObject.GetFormats();

           // Stores the results in a string.
           string theResult = "The format(s) associated with the data are:" + '\n';
           for(int i=0; i<arrayOfFormats.Length; i++)
               theResult += arrayOfFormats[i] + '\n';
           
           // Show the results in a message box. 
           MessageBox.Show(theResult);
       }
Private Sub SetData4()
    ' Creates a new data object.
    Dim myDataObject As New DataObject()

    ' Adds UnicodeText string to the object, and set the autoConvert
    ' parameter to false.
    myDataObject.SetData(DataFormats.UnicodeText, False, "My text string")

    ' Gets the data format(s) in the data object.
    Dim arrayOfFormats As [String]() = myDataObject.GetFormats()

    ' Stores the results in a string.
    Dim theResult As String = "The format(s) associated with the data are:" + _
            ControlChars.Cr
    Dim i As Integer
    For i = 0 To arrayOfFormats.Length - 1
        theResult += arrayOfFormats(i) + ControlChars.Cr
    Next i
    ' Show the results in a message box. 
    MessageBox.Show(theResult)
End Sub

Hinweise

Wenn Sie das Format der Zielanwendung nicht kennen, können Sie Mit dieser Methode Daten in mehreren Formaten speichern.

Eine Implementierung dieser Methode finden Sie unter DataObject.SetData.

Weitere Informationen

Gilt für: