DataObject DataObject DataObject DataObject Class

定義

基本データ転送機構を実装します。Implements a basic data transfer mechanism.

public ref class DataObject : System::Runtime::InteropServices::ComTypes::IDataObject, System::Windows::Forms::IDataObject
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class DataObject : System.Runtime.InteropServices.ComTypes.IDataObject, System.Windows.Forms.IDataObject
type DataObject = class
    interface IDataObject
    interface IDataObject
Public Class DataObject
Implements IDataObject, IDataObject
継承
DataObjectDataObjectDataObjectDataObject
属性
実装

次のコード例は、内のデータを追加、DataObjectします。The following code example adds data in a DataObject. 最初に、新しいDataObjectが作成されますが、コンポーネントが格納されているとします。First, a new DataObject is created and a component is stored in it. 適切な種類のデータが存在するかどうかにチェックし、DataObjectします。Then, it checks to see if data in the appropriate type exists in the DataObject. 結果は、テキスト ボックスに表示されます。The result is displayed in a text box. このコードである必要がありますtextBox1が作成されました。This code requires that textBox1 has been created.

private:
   void AddMyData3()
   {
      // Creates a component to store in the data object.
      Component^ myComponent = gcnew Component;
      
      // Creates a new data object.
      DataObject^ myDataObject = gcnew DataObject;
      
      // Adds the component to the DataObject.
      myDataObject->SetData( myComponent );
      
      // Prints whether data of the specified type is in the DataObject.
      Type^ myType = myComponent->GetType();
      if ( myDataObject->GetDataPresent( myType ) )
      {
         textBox1->Text = String::Concat( "Data of type ", myType,
            " is present in the DataObject" );
      }
      else
      {
         textBox1->Text = String::Concat( "Data of type ", myType,
            " is not present in the DataObject" );
      }
   }
private void AddMyData3() {
    // Creates a component to store in the data object.
    Component myComponent = new Component();
 
    // Creates a new data object.
    DataObject myDataObject = new DataObject();
 
    // Adds the component to the DataObject.
    myDataObject.SetData(myComponent);
 
    // Prints whether data of the specified type is in the DataObject.
    Type myType = myComponent.GetType();
    if(myDataObject.GetDataPresent(myType))
       textBox1.Text = "Data of type " + myType.ToString() + 
       " is present in the DataObject";
    else
       textBox1.Text = "Data of type " + myType.ToString() +
       " is not present in the DataObject";
 }
Private Sub AddMyData3()
    ' Creates a component to store in the data object.
    Dim myComponent As New Component()
    
    ' Creates a new data object.
    Dim myDataObject As New DataObject()
    
    ' Adds the component to the DataObject.
    myDataObject.SetData(myComponent)
    
    ' Prints whether data of the specified type is in the DataObject.
    Dim myType As Type = myComponent.GetType()
    If myDataObject.GetDataPresent(myType) Then
        textBox1.Text = "Data of type " & myType.ToString() & _
            " is present in the DataObject"
    Else
        textBox1.Text = "Data of type " & myType.ToString() & _
            " is not present in the DataObject"
    End If
End Sub 'AddMyData3

次の例に格納されたデータの取得、DataObjectします。The next example retrieves the data stored in a DataObject. 最初に、新しいDataObjectテキスト データで作成されます。First, a new DataObject is created with text data. 次に、データを取得、文字列としての形式を指定して、テキスト ボックスに表示されます。Then, the data is retrieved, specifying its format as a string, and displayed in a text box. データ形式は、文字列をテキストから自動的に変換されます。The data format is automatically converted from text to string. このコードである必要がありますtextBox1が作成されました。This code requires that textBox1 has been created.

void GetMyData2()
{
   // Creates a new data object using a string and the text format.
   DataObject^ myDataObject = gcnew DataObject( DataFormats::Text,"Text to Store" );
   
   // Prints the string in a text box.
   textBox1->Text = myDataObject->GetData( DataFormats::Text )->ToString();
}
private void GetMyData2() {
    // Creates a new data object using a string and the text format.
    DataObject myDataObject = new DataObject(DataFormats.Text, "Text to Store");
 
    // Prints the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString();
 }
Private Sub GetMyData2()
    ' Creates a new data object using a string and the text format.
    Dim myDataObject As New DataObject(DataFormats.Text, "Text to Store")
    
    ' Prints the string in a text box.
    textBox1.Text = myDataObject.GetData(DataFormats.Text).ToString()
End Sub 'GetMyData2

注釈

DataObject 実装して、IDataObjectインターフェイスを持つメソッドのデータ転送形式に依存しないメカニズムを提供します。DataObject implements the IDataObject interface, whose methods provide a format-independent mechanism for data transfer.

ADataObjectは通常使用、Clipboardとドラッグ アンド ドロップ操作でします。A DataObject is typically used with the Clipboard and in drag-and-drop operations. DataObjectクラスの推奨される実装を提供、IDataObjectインターフェイス。The DataObject class provides the recommended implementation of the IDataObject interface. 使用することをお勧めしますが、DataObjectクラスを実装するのではなくIDataObject自分でします。It is suggested that you use the DataObject class rather than implementing IDataObject yourself.

複数のさまざまな形式でデータを格納できる、DataObjectします。Multiple pieces of data in different formats can be stored in a DataObject. データを取得、DataObjectによってそのに関連する形式。Data is retrieved from a DataObject by its associated format. データとなるアプリケーションの適切な形式でのデータを配置することで可能性を増やすことができます対象アプリケーションを認識しない場合があります、ため、DataObject複数の形式でします。Because the target application might not be known, you can increase the likelihood that the data will be in the appropriate format for an application by placing the data in a DataObject in multiple formats. 参照してくださいDataFormatsの定義済みの形式。See DataFormats for the predefined formats. インスタンスを作成して、独自の形式を実装することができます、DataFormats.Formatクラス。You can implement your own format by creating an instance of the DataFormats.Format class.

データを格納する、 DataObject、コンス トラクターを呼び出し、データを渡すSetDataします。To store data in a DataObject, pass the data to the constructor or call SetData. 複数の形式でデータを追加するには、同じDataObjectします。You can add data in multiple formats to the same DataObject. ネイティブ形式のみ、呼び出しで取得するを追加する場合は、データが必要なSetData(String, Boolean, Object)で、autoConvertパラメーターに設定falseします。If you want the data you add to be retrieved in its native format only, call SetData(String, Boolean, Object) with the autoConvert parameter set to false.

データを取得できる、DataObjectと互換性が任意の形式でGetDataします。Data can be retrieved from a DataObject in any format which is compatible with GetData. たとえば、テキストは Unicode に変換できます。For example, text can be converted to Unicode. 格納されている形式でデータを取得するには、呼び出すGetDataで、autoConvertパラメーターに設定falseします。To retrieve data in the format in which it was stored, call GetData with the autoConvert parameter set to false.

データが格納されているどのような形式を確認するのには、呼び出すGetFormatsします。To determine what formats the data is stored in, call GetFormats. 形式が使用可能なかどうかを決定するには、呼び出すGetDataPresent目的の形式にします。To determine if a format is available, call GetDataPresent with the desired format.

.NET Framework 2.0.NET Framework 2.0DataObjectクラスが共通の形式のデータを簡単に追加のメソッドが操作を提供します。In .NET Framework 2.0.NET Framework 2.0, the DataObject class provides additional methods that make it easier to work with data in common formats. 特定の形式のデータを追加する、 DataObject、適切な使用Set形式メソッドなどSetTextします。To add data of a particular format to the DataObject, use the appropriate SetFormat method, such as SetText. 特定の形式のデータを取得する、 DataObject、まず、適切なContains形式メソッド (などContainsText) を決定するかどうか、DataObjectデータが含まれる形式の呼び出し適切なGet形式メソッド (などGetText) 場合は、データを取得する、DataObjectそれが含まれています。To retrieve data of a particular format from the DataObject, first call the appropriate ContainsFormat method (such as ContainsText) to determine whether the DataObject contains data in that format, then call the appropriate GetFormat method (such as GetText) to retrieve the data if the DataObject contains it.

注意

クリップボードをメタファイル形式を使用する場合、特別な考慮事項が必要にあります。Special considerations may be necessary when using the metafile format with the Clipboard. 現在の実装の制限により、DataObjectクラス、.NET Framework で使用されるメタファイル形式を古いメタファイル形式を使用するアプリケーションで認識されない可能性があります。Due to a limitation in the current implementation of the DataObject class, the metafile format used by the .NET Framework may not be recognized by applications that use an older metafile format. この場合、クリップボードの Win32 アプリケーション プログラミング インターフェイス (Api) と相互運用する必要があります。In this case, you must interoperate with the Win32 Clipboard application programming interfaces (APIs).

オブジェクトはクリップボードに配置するためにシリアル化可能である必要があります。An object must be serializable for it to be put on the Clipboard. 参照してくださいSystem.Runtime.Serializationシリアル化の詳細についてはします。See System.Runtime.Serialization for more information on serialization. ターゲット アプリケーションには、非常に特定のデータ形式が必要とする場合、シリアル化プロセス内のデータに追加されるヘッダーからデータを認識するアプリケーションを使用できなくなります。If your target application requires a very specific data format, the headers added to the data in the serialization process may prevent the application from recognizing your data. データ形式を保持するために、データを追加、Byte配列をMemoryStreamを渡すと、MemoryStreamSetDataメソッド。To preserve your data format, add your data as a Byte array to a MemoryStream and pass the MemoryStream to the SetData method.

コンストラクター

DataObject() DataObject() DataObject() DataObject()

DataObject クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataObject class.

DataObject(Object) DataObject(Object) DataObject(Object) DataObject(Object)

DataObject クラスの新しいインスタンスを初期化し、指定したオブジェクトを追加します。Initializes a new instance of the DataObject class and adds the specified object to it.

DataObject(String, Object) DataObject(String, Object) DataObject(String, Object) DataObject(String, Object)

DataObject クラスの新しいインスタンスを初期化し、指定したオブジェクトを指定した形式で追加します。Initializes a new instance of the DataObject class and adds the specified object in the specified format.

メソッド

ContainsAudio() ContainsAudio() ContainsAudio() ContainsAudio()

データ オブジェクトに WaveAudio 形式のデータが含まれているかどうかを示します。Indicates whether the data object contains data in the WaveAudio format.

ContainsFileDropList() ContainsFileDropList() ContainsFileDropList() ContainsFileDropList()

データ オブジェクトに FileDrop 形式のデータか、その形式に変換できるデータが含まれているかどうかを示します。Indicates whether the data object contains data that is in the FileDrop format or can be converted to that format.

ContainsImage() ContainsImage() ContainsImage() ContainsImage()

データ オブジェクトに Bitmap 形式のデータか、その形式に変換できるデータが含まれているかどうかを示します。Indicates whether the data object contains data that is in the Bitmap format or can be converted to that format.

ContainsText() ContainsText() ContainsText() ContainsText()

データ オブジェクトに UnicodeText 形式のデータが含まれているかどうかを示します。Indicates whether the data object contains data in the UnicodeText format.

ContainsText(TextDataFormat) ContainsText(TextDataFormat) ContainsText(TextDataFormat) ContainsText(TextDataFormat)

指定した TextDataFormat 値で示される形式のテキスト データが、データ オブジェクトに含まれているかどうかを示します。Indicates whether the data object contains text data in the format indicated by the specified TextDataFormat value.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAudioStream() GetAudioStream() GetAudioStream() GetAudioStream()

データ オブジェクトからオーディオ ストリームを取得します。Retrieves an audio stream from the data object.

GetData(String) GetData(String) GetData(String) GetData(String)

指定したデータ形式に関連付けられたデータを返します。Returns the data associated with the specified data format.

GetData(String, Boolean) GetData(String, Boolean) GetData(String, Boolean) GetData(String, Boolean)

データを指定形式に変換するかどうかを判断するための自動変換パラメーターを使用して、指定したデータ形式に関連付けられているデータを返します。Returns the data associated with the specified data format, using an automated conversion parameter to determine whether to convert the data to the format.

GetData(Type) GetData(Type) GetData(Type) GetData(Type)

指定したクラス型形式に関連付けられたデータを返します。Returns the data associated with the specified class type format.

GetDataPresent(String) GetDataPresent(String) GetDataPresent(String) GetDataPresent(String)

この DataObject に格納されているデータが、指定した形式と関連付けられているかどうかや、その形式に変換できるかどうかを確認します。Determines whether data stored in this DataObject is associated with, or can be converted to, the specified format.

GetDataPresent(String, Boolean) GetDataPresent(String, Boolean) GetDataPresent(String, Boolean) GetDataPresent(String, Boolean)

指定した形式のデータがこの DataObject に含まれているかどうかを確認し、オプションで、指定した形式に変換できるデータが含まれているかどうかも確認します。Determines whether this DataObject contains data in the specified format or, optionally, contains data that can be converted to the specified format.

GetDataPresent(Type) GetDataPresent(Type) GetDataPresent(Type) GetDataPresent(Type)

この DataObject に格納されているデータが、指定した形式と関連付けられているかどうかや、その形式に変換できるかどうかを確認します。Determines whether data stored in this DataObject is associated with, or can be converted to, the specified format.

GetFileDropList() GetFileDropList() GetFileDropList() GetFileDropList()

ファイル名のコレクションをデータ オブジェクトから取得します。Retrieves a collection of file names from the data object.

GetFormats() GetFormats() GetFormats() GetFormats()

この DataObject に格納されたデータに関連付けられているすべての形式、または変換できるすべての形式のリストを返します。Returns a list of all formats that data stored in this DataObject is associated with or can be converted to.

GetFormats(Boolean) GetFormats(Boolean) GetFormats(Boolean) GetFormats(Boolean)

自動変換パラメーターを使用して、ネイティブのデータ形式だけを取得するのか、またはデータを変換することができるすべての形式を取得するのかを決定し、この DataObject に格納されているデータに関連付けられている形式、あるいは変換できるすべての形式のリストを返します。Returns a list of all formats that data stored in this DataObject is associated with or can be converted to, using an automatic conversion parameter to determine whether to retrieve only native data formats or all formats that the data can be converted to.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetImage() GetImage() GetImage() GetImage()

データ オブジェクトからイメージを取得します。Retrieves an image from the data object.

GetText() GetText() GetText() GetText()

データ オブジェクトから UnicodeText 形式でテキスト データを取得します。Retrieves text data from the data object in the UnicodeText format.

GetText(TextDataFormat) GetText(TextDataFormat) GetText(TextDataFormat) GetText(TextDataFormat)

データ オブジェクトから、指定した TextDataFormat 値で示される形式でテキスト データを取得します。Retrieves text data from the data object in the format indicated by the specified TextDataFormat value.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
SetAudio(Byte[]) SetAudio(Byte[]) SetAudio(Byte[]) SetAudio(Byte[])

Byte 配列を WaveAudio に変換してから、Stream 形式でデータ オブジェクトに追加します。Adds a Byte array to the data object in the WaveAudio format after converting it to a Stream.

SetAudio(Stream) SetAudio(Stream) SetAudio(Stream) SetAudio(Stream)

データ オブジェクトに Stream 形式で WaveAudio を追加します。Adds a Stream to the data object in the WaveAudio format.

SetData(Object) SetData(Object) SetData(Object) SetData(Object)

オブジェクト型をデータ形式として使用して、指定したオブジェクトを DataObject に追加します。Adds the specified object to the DataObject using the object type as the data format.

SetData(String, Boolean, Object) SetData(String, Boolean, Object) SetData(String, Boolean, Object) SetData(String, Boolean, Object)

形式を指定し、データを別形式に変換できるかどうかを指定して、指定したオブジェクトを DataObject に追加します。Adds the specified object to the DataObject using the specified format and indicating whether the data can be converted to another format.

SetData(String, Object) SetData(String, Object) SetData(String, Object) SetData(String, Object)

形式を指定して、指定したオブジェクトを DataObject に追加します。Adds the specified object to the DataObject using the specified format.

SetData(Type, Object) SetData(Type, Object) SetData(Type, Object) SetData(Type, Object)

指定した型を形式として使用して、指定したオブジェクトを DataObject に追加します。Adds the specified object to the DataObject using the specified type as the format.

SetFileDropList(StringCollection) SetFileDropList(StringCollection) SetFileDropList(StringCollection) SetFileDropList(StringCollection)

データ オブジェクトに FileDrop 形式でファイル名のコレクションを追加します。Adds a collection of file names to the data object in the FileDrop format.

SetImage(Image) SetImage(Image) SetImage(Image) SetImage(Image)

データ オブジェクトに Image 形式で Bitmap を追加します。Adds an Image to the data object in the Bitmap format.

SetText(String) SetText(String) SetText(String) SetText(String)

データ オブジェクトに UnicodeText 形式でテキスト データを追加します。Adds text data to the data object in the UnicodeText format.

SetText(String, TextDataFormat) SetText(String, TextDataFormat) SetText(String, TextDataFormat) SetText(String, TextDataFormat)

データ オブジェクトに、指定した TextDataFormat 値で示される形式でテキスト データを追加します。Adds text data to the data object in the format indicated by the specified TextDataFormat value.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32) IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32) IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32) IDataObject.DAdvise(FORMATETC, ADVF, IAdviseSink, Int32)

データ オブジェクトとアドバイズ シンク間の接続を作成します。Creates a connection between a data object and an advisory sink. このメソッドは、アドバイズ シンクをサポートするオブジェクトによって呼び出され、オブジェクトのデータの変更をアドバイズ シンクに通知できるようにします。This method is called by an object that supports an advisory sink and enables the advisory sink to be notified of changes in the object's data.

IDataObject.DUnadvise(Int32) IDataObject.DUnadvise(Int32) IDataObject.DUnadvise(Int32) IDataObject.DUnadvise(Int32)

以前に確立されていた通知の接続を破棄します。Destroys a notification connection that had been previously established.

IDataObject.EnumDAdvise(IEnumSTATDATA) IDataObject.EnumDAdvise(IEnumSTATDATA) IDataObject.EnumDAdvise(IEnumSTATDATA) IDataObject.EnumDAdvise(IEnumSTATDATA)

現在のアドバイザリ コネクションを列挙するために使用できるオブジェクトを作成します。Creates an object that can be used to enumerate the current advisory connections.

IDataObject.EnumFormatEtc(DATADIR) IDataObject.EnumFormatEtc(DATADIR) IDataObject.EnumFormatEtc(DATADIR) IDataObject.EnumFormatEtc(DATADIR)

データ オブジェクトの FORMATETC 構造体を列挙するためのオブジェクトを作成します。Creates an object for enumerating the FORMATETC structures for a data object. これらの構造体は、GetData(FORMATETC, STGMEDIUM) または SetData(FORMATETC, STGMEDIUM, Boolean) の呼び出しで使用されます。These structures are used in calls to GetData(FORMATETC, STGMEDIUM) or SetData(FORMATETC, STGMEDIUM, Boolean).

IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC) IDataObject.GetCanonicalFormatEtc(FORMATETC, FORMATETC)

より複雑な構造体と論理的に等価な、標準の FORMATETC 構造体を提供します。Provides a standard FORMATETC structure that is logically equivalent to a more complex structure. このメソッドを使用して、2 つの異なる FORMATETC 構造体が同一のデータを返すかどうかを確認し、表示を二重化する必要をなくします。Use this method to determine whether two different FORMATETC structures would return the same data, removing the need for duplicate rendering.

IDataObject.GetData(FORMATETC, STGMEDIUM) IDataObject.GetData(FORMATETC, STGMEDIUM) IDataObject.GetData(FORMATETC, STGMEDIUM) IDataObject.GetData(FORMATETC, STGMEDIUM)

ソース データ オブジェクトからデータを取得します。Obtains data from a source data object. GetData(FORMATETC, STGMEDIUM) メソッドは、データ コンシューマーによって呼び出され、指定された FORMATETC 構造体に記述されているデータを表示し、指定された STGMEDIUM 構造体を使用してそのデータを転送します。The GetData(FORMATETC, STGMEDIUM) method, which is called by a data consumer, renders the data described in the specified FORMATETC structure and transfers it through the specified STGMEDIUM structure. 呼び出し元は、その後で STGMEDIUM 構造体を解放する必要があります。The caller then assumes responsibility for releasing the STGMEDIUM structure.

IDataObject.GetDataHere(FORMATETC, STGMEDIUM) IDataObject.GetDataHere(FORMATETC, STGMEDIUM) IDataObject.GetDataHere(FORMATETC, STGMEDIUM) IDataObject.GetDataHere(FORMATETC, STGMEDIUM)

ソース データ オブジェクトからデータを取得します。Obtains data from a source data object. このメソッドはデータ コンシューマーによって呼び出され、呼び出し元が、指定したストレージ メディアを割り当て、解放する必要があるという点で GetData(FORMATETC, STGMEDIUM) メソッドとは異なります。This method, which is called by a data consumer, differs from the GetData(FORMATETC, STGMEDIUM) method in that the caller must allocate and free the specified storage medium.

IDataObject.QueryGetData(FORMATETC) IDataObject.QueryGetData(FORMATETC) IDataObject.QueryGetData(FORMATETC) IDataObject.QueryGetData(FORMATETC)

データ オブジェクトが、FORMATETC 構造体で記述されているデータを表示できるかどうかを確認します。Determines whether the data object is capable of rendering the data described in the FORMATETC structure. 貼り付け操作またはドロップ操作をしようとしているオブジェクトは、GetData(FORMATETC, STGMEDIUM) を呼び出す前にこのメソッドを呼び出して、操作が正常に実行できるかどうかを示す値を取得できます。Objects attempting a paste or drop operation can call this method before calling GetData(FORMATETC, STGMEDIUM) to get an indication of whether the operation may be successful.

IDataObject.SetData(FORMATETC, STGMEDIUM, Boolean) IDataObject.SetData(FORMATETC, STGMEDIUM, Boolean) IDataObject.SetData(FORMATETC, STGMEDIUM, Boolean) IDataObject.SetData(FORMATETC, STGMEDIUM, Boolean)

このメソッドを実装するオブジェクトにデータを転送します。Transfers data to the object that implements this method. このメソッドは、データ ソースを格納しているオブジェクトから呼び出されます。This method is called by an object that contains a data source.

適用対象

こちらもご覧ください