DataFormats Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет staticпредопределенные Clipboard имена форматов. Используйте их для определения формата данных, которые хранятся в объекте IDataObject.
public ref class DataFormats
public ref class DataFormats abstract sealed
public class DataFormats
public static class DataFormats
type DataFormats = class
Public Class DataFormats
- Наследование
-
DataFormats
Примеры
В следующем примере кода создается новый формат данных с именем myFormat. Затем код создает MyNewObject объект, который хранится в объекте DataObject. Копируется в DataObject объект Clipboard.
DataObject Затем извлекается из ClipboardMyNewObject и восстанавливается. Значение печатается MyNewObject в текстовом поле. Этот код требует textBox1 создания и размещения в форме.
#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;
}
};
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;
}
}
}
Option Explicit
Option Strict
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
End Class
' 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
' 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
Комментарии
IDataObject Кроме DataObject того, классы используют static список форматов для определения типа данных, полученных из системы Clipboardили передаваемых в операции перетаскивания.
Метод GetFormat позволяет:
Получение предопределенного DataFormats.Format объекта для имени формата или номера идентификатора.
Добавьте новую пару имени и идентификатора формата в список
staticв этом классе и зарегистрируйте формат в реестре Windows в качестве формата Clipboard при передаче имени формата.
Число или формат можно получить Id из соответствующего свойства в экземпляреName.DataFormats.Format
Поля
| Имя | Описание |
|---|---|
| Bitmap |
Задает формат растрового изображения Windows. Это |
| CommaSeparatedValue |
Задает формат, разделенный запятыми (CSV), который является общим форматом обмена, используемым электронными таблицами. Этот формат не используется непосредственно Windows Forms. Это |
| Dib |
Указывает формат Windows независимо от устройства растрового изображения (DIB). Это |
| Dif |
Указывает формат обмена данными Windows (DIF), который Windows Forms не используется напрямую. Это |
| EnhancedMetafile |
Задает расширенный формат метафайла Windows. Это |
| FileDrop |
Указывает формат удаления файла Windows, который Windows Forms не используется напрямую. Это |
| Html |
Задает текст в формате буфера обмена HTML. Это |
| Locale |
Задает формат языка и региональных параметров Windows, который Windows Forms не используется напрямую. Это |
| MetafilePict |
Указывает формат метафайла Windows, который Windows Forms не используется напрямую. Это |
| OemText |
Задает стандартный Windows текстовый формат изготовителя оборудования (OEM). Это |
| Palette |
Задает формат палитры Windows. Это |
| PenData |
Задает формат данных Windows пера, состоящий из росчерков пера для программного обеспечения рукописного ввода; Windows Forms не использует этот формат. Это |
| Riff |
Указывает формат звука формата файлов обмена ресурсами (RIFF), который Windows Forms не используется напрямую. Это |
| Rtf |
Задает текст, состоящий из данных RTF. Это |
| Serializable |
Задает формат, инкапсулирующий любой тип объекта Windows Forms. Это |
| StringFormat |
Задает формат класса строк Windows Forms, который Windows Forms используется для хранения строковых объектов. Это |
| SymbolicLink |
Задает формат символьной ссылки Windows, который Windows Forms не используется напрямую. Это |
| Text |
Задает стандартный текстовый формат ANSI. Это |
| Tiff |
Указывает формат файла с тегами (TIFF), который Windows Forms не используется напрямую. Это |
| UnicodeText |
Задает стандартный формат текста Windows Юникода. Это |
| WaveAudio |
Задает формат звука волны, который Windows Forms не используется напрямую. Это |
Методы
| Имя | Описание |
|---|---|
| GetFormat(Int32) |
Возвращает DataFormats.Format с числовым идентификатором буфера обмена Windows и именем указанного идентификатора. |
| GetFormat(String) |
Возвращает DataFormats.Format с числовым идентификатором буфера обмена Windows и именем указанного формата. |