Поделиться через


IDataObject.SetData Метод

Определение

Сохраняет указанные данные и связанный с ними формат в этом экземпляре.

Перегрузки

SetData(Object)

Сохраняет указанные данные в этом экземпляре, используя класс данных для формата.

SetData(String, Object)

Сохраняет указанные данные и связанный с ними формат в этом экземпляре.

SetData(Type, Object)

Сохраняет указанные данные и связанный с ними тип класса в этом экземпляре.

SetData(String, Boolean, Object)

Сохраняет указанные данные и связанный с ними формат в этом экземпляре и в значении типа Boolean задает, возможно ли преобразование данных в другой формат.

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) и сохраняет его в объекте данных (myDataObject), используя для myType указания формата данных. Затем он проверяет, хранятся ли данные указанного типа в объекте , и отображает результат в окне сообщения. В примере предполагается, что вы создали объект с 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)

Сохраняет указанные данные и связанный с ними формат в этом экземпляре и в значении типа Boolean задает, возможно ли преобразование данных в другой формат.

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.

См. также раздел

Применяется к