다음을 통해 공유


DataFormats 클래스

미리 정의된 staticClipboard 형식 이름을 제공합니다. 이 이름을 사용하여 IDataObject에 저장하는 데이터의 형식을 식별합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Class DataFormats
‘사용 방법
Dim instance As DataFormats
public class DataFormats
public ref class DataFormats
public class DataFormats
public class DataFormats

설명

IDataObjectDataObject 클래스도 static 형식 목록을 사용하여 시스템 Clipboard에서 검색되거나 끌어서 놓기 작업을 통해 전송되는 데이터의 형식을 확인합니다.

GetFormat 메서드를 사용하면 다음 작업을 수행할 수 있습니다.

  • 형식 이름 또는 ID 번호에 대해 미리 정의된 DataFormats.Format 개체를 가져옵니다.

  • 새 형식 이름/ID 번호 쌍을 이 클래스에 있는 static 목록에 추가하여 해당 형식 이름을 전달할 때 이 형식을 Windows 레지스트리에 Clipboard 형식으로 등록합니다.

DataFormats.Format 인스턴스에 있는 해당 속성에서 Id 번호나 Name 형식을 가져올 수 있습니다.

예제

다음 코드 예제에서는 myFormat이라는 새 데이터 형식을 만듭니다. 그런 다음 코드에서는 DataObject에 저장되는 MyNewObject를 만듭니다. DataObjectClipboard에 복사됩니다.

그런 다음 Clipboard에서 DataObject가 검색되고 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.Object
  System.Windows.Forms.DataFormats

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0에서 지원

참고 항목

참조

DataFormats 멤버
System.Windows.Forms 네임스페이스
Clipboard 클래스
DataObject
DataFormats.Format
IDataObject
SetData
GetData
GetFormats
GetDataPresent
GetData
GetDataPresent
GetFormats
SetData