IDataObject.SetData 方法

定義

在此實例中儲存指定的資料及其相關格式。

多載

名稱 Description
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);
abstract member SetData : obj -> unit
Public Sub SetData (data As Object)

參數

data
Object

要儲存的資料。

範例

此範例使用 DataObjectIDataObject作 的類別來示範該方法的使用 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);
abstract member SetData : string * obj -> unit
Public Sub SetData (format As String, data As Object)

參數

format
String

與資料相關的格式。 請參閱 DataFormats 預設格式。

data
Object

要儲存的資料。

範例

此範例使用 DataObjectIDataObject作 的類別來示範該方法的使用 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);
abstract member SetData : Type * obj -> unit
Public Sub SetData (format As Type, data As Object)

參數

format
Type

A Type 代表與資料相關的格式。 請參閱 DataFormats 預設格式。

data
Object

要儲存的資料。

範例

此範例使用 DataObjectIDataObject作 的類別來示範該方法的使用 SetData 。 首先,它建立一個元件(myComponent),並將其儲存在資料物件(),myDataObjectmyType以指定資料格式。 接著檢查指定類型的資料是否儲存在物件中,並以訊息框顯示結果。 這個範例假設你已經建立了 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);
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

要儲存的資料。

範例

此範例使用 DataObjectIDataObject作 的類別來示範該方法的使用 SetData 。 首先,它建立一個資料物件()myDataObject並在其中儲存一個 UnicodeTextautoConvert 串,參數設為 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

另請參閱

適用於