次の方法で共有


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) に格納します。 次に、指定したデータがデータ オブジェクトに格納されているかどうかを確認し、結果をメッセージ ボックスに表示します。 この例では、 という名前Form1の がForm作成されていることを前提としています。

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 。 結果がメッセージ ボックスに表示されます。 この例では、 という名前Form1の がForm作成されていることを前提としています。

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) に格納します。 次に、指定した型のデータが オブジェクトに格納されているかどうかを確認し、結果をメッセージ ボックスに表示します。 この例では、 という名前Form1の がForm作成されていることを前提としています。

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 に設定して、その中に文字列をfalseautoConvert格納します。 次に、 オブジェクトに格納されているデータに関連付けられている形式を取得し、その結果をメッセージ ボックスに表示します。 データに関連付けられている唯一の形式は形式 UnicodeText です。 この例では、 という名前Form1の がForm作成されていることを前提としています。

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

こちらもご覧ください

適用対象