Condividi tramite


IDataObject.SetData Metodo

Definizione

Memorizza nell'istanza i dati specificati e il formato associato.

Overload

SetData(Object)

Memorizza i dati specificati in questa istanza, utilizzando la classe dei dati per il formato.

SetData(String, Object)

Memorizza nell'istanza i dati specificati e il formato associato.

SetData(Type, Object)

Memorizza i dati specificati e il tipo di classe associata in questa istanza.

SetData(String, Boolean, Object)

Memorizza i dati specificati e il formato associato nell'istanza utilizzando un valore Boolean per specificare se i dati possono essere convertiti in un altro formato.

SetData(Object)

Memorizza i dati specificati in questa istanza, utilizzando la classe dei dati per il formato.

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)

Parametri

data
Object

Dati da memorizzare.

Esempio

In questo esempio viene utilizzata la DataObject classe , che implementa IDataObject, per illustrare l'uso del SetData metodo . Prima di tutto, crea un componente (myComponent) e lo archivia in un oggetto dati (myDataObject). Controlla quindi se i dati specificati vengono archiviati nell'oggetto dati e visualizza il risultato in una finestra di messaggio. Nell'esempio si presuppone che sia stato creato un Form oggetto denominato Form1.

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

Commenti

Il formato è derivato dalla classe di dati.

I dati archiviati con questo metodo possono essere convertiti in un formato compatibile quando vengono recuperati.

Per un'implementazione di questo metodo, vedere DataObject.SetData.

Vedi anche

Si applica a

SetData(String, Object)

Memorizza nell'istanza i dati specificati e il formato associato.

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)

Parametri

format
String

Formato associato ai dati. Per i formati predefiniti, vedere DataFormats.

data
Object

Dati da memorizzare.

Esempio

In questo esempio viene utilizzata la DataObject classe , che implementa IDataObject, per illustrare l'uso del SetData metodo . Prima di tutto, crea un oggetto dati (myDataObject) e archivia una stringa nell'oggetto che specifica il UnicodeText formato. Recupera quindi i dati archiviati nell'oggetto che specifica il Text formato, in modo che i dati vengano convertiti nel Text formato. Il risultato viene visualizzato in una finestra di messaggio. In questo esempio si presuppone che sia stata creata una Form classe denominata Form1.

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

Commenti

Se non si conosce il formato dell'applicazione di destinazione, è possibile archiviare i dati in più formati usando questo metodo.

I dati archiviati con questo metodo possono essere convertiti in un formato compatibile quando vengono recuperati.

Per un'implementazione di questo metodo, vedere DataObject.SetData.

Vedi anche

Si applica a

SetData(Type, Object)

Memorizza i dati specificati e il tipo di classe associata in questa istanza.

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)

Parametri

format
Type

Oggetto Type che rappresenta il formato associato ai dati. Per i formati predefiniti, vedere DataFormats.

data
Object

Dati da memorizzare.

Esempio

In questo esempio viene utilizzata la DataObject classe , che implementa IDataObject, per illustrare l'uso del SetData metodo . Prima di tutto, crea un componente (myComponent) e lo archivia in un oggetto dati (myDataObject), usando myType per specificare il formato dei dati. Controlla quindi se i dati del tipo specificato vengono archiviati nell'oggetto e visualizza il risultato in una finestra di messaggio. Nell'esempio si presuppone che sia stato creato un Form oggetto denominato Form1.

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

Commenti

Se non si conosce il formato dell'applicazione di destinazione, è possibile archiviare i dati in più formati usando questo metodo.

I dati archiviati con questo metodo possono essere convertiti in un formato compatibile quando vengono recuperati.

Per un'implementazione di questo metodo, vedere DataObject.SetData.

Vedi anche

Si applica a

SetData(String, Boolean, Object)

Memorizza i dati specificati e il formato associato nell'istanza utilizzando un valore Boolean per specificare se i dati possono essere convertiti in un altro formato.

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)

Parametri

format
String

Formato associato ai dati. Per i formati predefiniti, vedere DataFormats.

autoConvert
Boolean

true per consentire la conversione dei dati in un altro formato; in caso contrario, false.

data
Object

Dati da memorizzare.

Esempio

In questo esempio viene utilizzata la DataObject classe , che implementa IDataObject, per illustrare l'uso del SetData metodo . Prima di tutto, crea un oggetto dati (myDataObject) e archivia una UnicodeText stringa al suo interno, con il autoConvert parametro impostato su false. Recupera quindi i formati associati ai dati archiviati nell'oggetto e visualizza il risultato in una finestra di messaggio. L'unico formato associato ai dati è il UnicodeText formato. In questo esempio si presuppone che sia stata creata una Form classe denominata Form1.

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

Commenti

Se non si conosce il formato dell'applicazione di destinazione, è possibile archiviare i dati in più formati usando questo metodo.

Per un'implementazione di questo metodo, vedere DataObject.SetData.

Vedi anche

Si applica a