共用方式為


IDataObject.SetData 方法

定義

將指定的資料和其相關的格式儲存於這個執行個體中。

多載

SetData(Object)

使用格式的資料類別,將指定的資料儲存於這個執行個體中。

SetData(String, Object)

將指定的資料和其相關的格式儲存於這個執行個體中。

SetData(Type, Object)

將指定的資料和其相關的類別型別儲存在這個執行個體中。

SetData(String, Boolean, Object)

將指定的資料和其相關的格式儲存於這個執行個體中,使用布林值指定是否可以將資料轉換成另一種格式。

SetData(Object)

使用格式的資料類別,將指定的資料儲存於這個執行個體中。

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)

參數

data
Object

要儲存的資料。

範例

這個範例會使用 DataObject 實作 IDataObject 的 類別來示範 方法的使用 SetData 方式。 首先,它會建立元件 (myComponent) ,並將它儲存在資料物件 (myDataObject) 中。 然後它會檢查指定的資料是否儲存在資料物件中,並在訊息方塊中顯示結果。 此範例假設您已建立 Form 名為 的 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

備註

格式衍生自資料類別。

使用此方法儲存的資料可以在擷取時轉換成相容的格式。

如需此方法的實作,請參閱 DataObject.SetData

另請參閱

適用於

SetData(String, Object)

將指定的資料和其相關的格式儲存於這個執行個體中。

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)

參數

format
String

與資料建立關聯的格式。 如需預先定義的格式,請參閱 DataFormats

data
Object

要儲存的資料。

範例

這個範例會使用 DataObject 實作 IDataObject 的 類別來示範 方法的使用 SetData 方式。 首先,它會建立資料物件 (myDataObject) ,並將字串儲存在指定格式的 UnicodeText 物件中。 然後,它會擷取儲存在物件中指定 Text 格式的資料,以便將資料轉換成 Text 格式。 結果會顯示在訊息方塊中。 此範例假設您已建立 Form 名為 的 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

備註

如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。

使用此方法儲存的資料可以在擷取時轉換成相容的格式。

如需此方法的實作,請參閱 DataObject.SetData

另請參閱

適用於

SetData(Type, Object)

將指定的資料和其相關的類別型別儲存在這個執行個體中。

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)

參數

format
Type

Type 表示與資料相關的格式。 如需預先定義的格式,請參閱 DataFormats

data
Object

要儲存的資料。

範例

這個範例會使用 DataObject 實作 IDataObject 的 類別來示範 方法的使用 SetData 方式。 首先,它會建立元件 (myComponent) ,並使用 來指定資料格式, myType 將其儲存在資料物件 (myDataObject) 中。 然後它會檢查指定的型別資料是否儲存在 物件中,並在訊息方塊中顯示結果。 此範例假設您已建立 Form 名為 的 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

備註

如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。

使用此方法儲存的資料可以在擷取時轉換成相容的格式。

如需此方法的實作,請參閱 DataObject.SetData

另請參閱

適用於

SetData(String, Boolean, Object)

將指定的資料和其相關的格式儲存於這個執行個體中,使用布林值指定是否可以將資料轉換成另一種格式。

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)

參數

format
String

與資料建立關聯的格式。 如需預先定義的格式,請參閱 DataFormats

autoConvert
Boolean

若資料可以被轉換成另一種格式,則為 true;否則為 false

data
Object

要儲存的資料。

範例

這個範例會使用 DataObject 實作 IDataObject 的 類別來示範 方法的使用 SetData 方式。 首先,它會建立資料物件 (myDataObject) ,並將字串儲存 UnicodeText 在其中,並將 autoConvert 參數設定為 false 。 然後它會擷取與物件中所儲存資料相關聯的格式 () ,並在訊息方塊中顯示結果。 與資料相關聯的唯一格式是 UnicodeText 格式。 此範例假設您已建立 Form 名為 的 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

備註

如果您不知道目標應用程式的格式,您可以使用此方法以多種格式儲存資料。

如需此方法的實作,請參閱 DataObject.SetData

另請參閱

適用於