DataFormats クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


IDataObject クラスと DataObject クラスでも、static 形式リストを使用し、システム Clipboard から取得したデータか、またはドラッグ アンド ドロップ操作で転送したデータかを判断します。
GetFormat メソッドを使用すると、次の処理を実行できます。
DataFormats.Format インスタンスの適切なプロパティから Id 番号または形式の Name を取得できます。

myFormat という名前の新しいデータ形式を作成するコード例を次に示します。このコードは MyNewObject を作成して DataObject に格納します。DataObject は Clipboard にコピーされます。
次に DataObject が Clipboard から取得され、MyNewObject が復元されます。MyNewObject の値はテキスト ボックスに表示されます。このコードでは、textBox1 が作成されており、フォーム上に配置されている必要があります。
Option Explicit Option Strict Imports System Imports System.Windows.Forms Public Class MyClass1 Inherits Form Private textBox1 As TextBox Public Sub MyClipboardMethod() ' Creates a new data format. Dim myFormat As DataFormats.Format = _ DataFormats.GetFormat("myFormat") ' Creates a new object and store it in a DataObject using myFormat ' as the type of format. Dim myObject As New MyNewObject() Dim myDataObject As New DataObject(myFormat.Name, myObject) ' Copies myObject into the clipboard. Clipboard.SetDataObject(myDataObject) ' Performs some processing steps. ' Retrieves the data from the clipboard. Dim myRetrievedObject As IDataObject = Clipboard.GetDataObject() ' Converts the IDataObject type to MyNewObject type. Dim myDereferencedObject As MyNewObject = _ CType(myRetrievedObject.GetData(myFormat.Name), MyNewObject) ' Print the value of the Object in a textBox. textBox1.Text = myDereferencedObject.MyObjectValue End Sub 'MyClipboardMethod End Class 'MyClass ' Creates a new type. <Serializable()> Public Class MyNewObject Inherits Object Private myValue As String ' Creates a default constructor for the class. Public Sub New() myValue = "This is the value of the class" End Sub 'New ' Creates a property to retrieve or set the value. Public Property MyObjectValue() As String Get Return myValue End Get Set myValue = value End Set End Property End Class 'MyNewObject
using System; using System.Windows.Forms; public class MyClass : Form { protected TextBox textBox1; public void MyClipboardMethod() { // Creates a new data format. DataFormats.Format myFormat = DataFormats.GetFormat("myFormat"); /* Creates a new object and stores it in a DataObject using myFormat * as the type of format. */ MyNewObject myObject = new MyNewObject(); DataObject myDataObject = new DataObject(myFormat.Name, myObject); // Copies myObject into the clipboard. Clipboard.SetDataObject(myDataObject); // Performs some processing steps. // Retrieves the data from the clipboard. IDataObject myRetrievedObject = Clipboard.GetDataObject(); // Converts the IDataObject type to MyNewObject type. MyNewObject myDereferencedObject = (MyNewObject)myRetrievedObject.GetData(myFormat.Name); // Prints the value of the Object in a textBox. textBox1.Text = myDereferencedObject.MyObjectValue; } } // Creates a new type. [Serializable] public class MyNewObject : Object { private string myValue; // Creates a default constructor for the class. public MyNewObject() { myValue = "This is the value of the class"; } // Creates a property to retrieve or set the value. public string MyObjectValue { get { return myValue; } set { myValue = value; } } }
#using <System.dll> #using <System.Drawing.dll> #using <System.Windows.Forms.dll> using namespace System; using namespace System::Windows::Forms; // Creates a new type. [Serializable] public ref class MyNewObject: public Object { private: String^ myValue; public: // Creates a default constructor for the class. MyNewObject() { myValue = "This is the value of the class"; } property String^ MyObjectValue { // Creates a property to retrieve or set the value. String^ get() { return myValue; } void set( String^ value ) { myValue = value; } } }; public ref class MyClass: public Form { protected: TextBox^ textBox1; public: void MyClipboardMethod() { // Creates a new data format. DataFormats::Format^ myFormat = DataFormats::GetFormat( "myFormat" ); /* Creates a new object and stores it in a DataObject using myFormat * as the type of format. */ MyNewObject^ myObject = gcnew MyNewObject; DataObject^ myDataObject = gcnew DataObject( myFormat->Name,myObject ); // Copies myObject into the clipboard. Clipboard::SetDataObject( myDataObject ); // Performs some processing steps. // Retrieves the data from the clipboard. IDataObject^ myRetrievedObject = Clipboard::GetDataObject(); // Converts the IDataObject type to MyNewObject type. MyNewObject^ myDereferencedObject = dynamic_cast<MyNewObject^>(myRetrievedObject->GetData( myFormat->Name )); // Prints the value of the Object in a textBox. textBox1->Text = myDereferencedObject->MyObjectValue; } };
import System.*; import System.Windows.Forms.*; public class MyClass extends Form { protected TextBox textBox1; public void MyClipboardMethod() { // Creates a new data format. DataFormats.Format myFormat = DataFormats.GetFormat("myFormat"); /* Creates a new object and stores it in a DataObject using myFormat as the type of format. */ MyNewObject myObject = new MyNewObject(); DataObject myDataObject = new DataObject(myFormat.get_Name() ,myObject); // Copies myObject into the clipboard. Clipboard.SetDataObject(myDataObject); // Performs some processing steps. // Retrieves the data from the clipboard. IDataObject myRetrievedObject = Clipboard.GetDataObject(); // Converts the IDataObject type to MyNewObject type. MyNewObject myDereferencedObject = (MyNewObject)(myRetrievedObject.GetData(myFormat.get_Name())); // Prints the value of the Object in a textBox. textBox1.set_Text(myDereferencedObject.get_MyObjectValue()); } //MyClipboardMethod } //MyClass // Creates a new type. /** @attribute Serializable() */ public class MyNewObject extends Object { private String myValue; // Creates a default constructor for the class. public MyNewObject() { myValue = "This is the value of the class"; } //MyNewObject // Creates a property to retrieve or set the value. /** @property */ public String get_MyObjectValue() { return myValue; } //get_MyObjectValue /** @property */ public void set_MyObjectValue(String value) { myValue = value; } //set_MyObjectValue } //MyNewObject
import System; import System.Windows.Forms; public class MyClass extends Form { protected var textBox1 : TextBox; public function MyClipboardMethod() { // Create a new data format. var myFormat : DataFormats.Format = DataFormats.GetFormat("myFormat"); /* Create a new object and store it in a DataObject import the myFormat * as the type of format. */ var myObject : MyNewObject = new MyNewObject(); var myDataObject : DataObject = new DataObject("myFormat", myObject); // Copy myObject into the clipboard. Clipboard.SetDataObject(myDataObject); // Perform some processing steps. // Retrieve the data from the clipboard. var myRetrievedObject : IDataObject = Clipboard.GetDataObject(); // Convert the IDataObject type to MyNewObject type. var myDereferencedObject : MyNewObject = MyNewObject(myRetrievedObject.GetData("myFormat")); // Print the value of the Object in a textBox. textBox1.Text = myDereferencedObject.MyObjectValue; } } // Create a new type. Serializable public class MyNewObject extends Object { private var myValue : String; // Create a default constructor for the class. public function MyNewObject() { myValue = "This is the value of the class"; } // Create a property to retrieve or set the value. public function get MyObjectValue() : String { return myValue; } public function set MyObjectValue(value : String) { myValue = value; } }

System.Windows.Forms.DataFormats


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DataFormats クラスのページへのリンク