Clipboard Clipboard Clipboard Clipboard Class

Definition

Предоставляет методы для помещения данных в системный буфер обмена и извлечения данных из системного буфера обмена. Provides methods to place data on and retrieve data from the system Clipboard. Этот класс не наследуется. This class cannot be inherited.

public ref class Clipboard sealed
public sealed class Clipboard
type Clipboard = class
Public NotInheritable Class Clipboard
Inheritance
ClipboardClipboardClipboardClipboard

Examples

В следующем примере кода используется Clipboard методы для помещения данных и получить его из системного буфера обмена.The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. В этом коде предполагается button1, button2, textBox1, и textBox2 созданы и формы.This code assumes button1, button2, textBox1, and textBox2 have been created and placed on the form.

button1_Click Вызовы методов SetDataObject выделенный текст из текстового поля и поместить его в системном буфере обмена.The button1_Click method calls SetDataObject to take selected text from the text box and place it on the system Clipboard.

button2_Click Вызовы метода GetDataObject для получения данных из системного буфера обмена.The button2_Click method calls GetDataObject to retrieve data from the system Clipboard. Код использует IDataObject и DataFormats для извлечения данных, возвращаемых и отображающий данные в textBox2.The code uses IDataObject and DataFormats to extract the data returned and displays the data in textBox2.

private:
   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Takes the selected text from a text box and puts it on the clipboard.
      if ( !textBox1->SelectedText->Equals( "" ) )
      {
         Clipboard::SetDataObject( textBox1->SelectedText );
      }
      else
      {
         textBox2->Text = "No text selected in textBox1";
      }
   }

   void button2_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      // Declares an IDataObject to hold the data returned from the clipboard.
      // Retrieves the data from the clipboard.
      IDataObject^ iData = Clipboard::GetDataObject();
      
      // Determines whether the data is in a format you can use.
      if ( iData->GetDataPresent( DataFormats::Text ) )
      {
         // Yes it is, so display it in a text box.
         textBox2->Text = (String^)(iData->GetData( DataFormats::Text ));
      }
      else
      {
         // No it is not.
         textBox2->Text = "Could not retrieve data off the clipboard.";
      }
   }
private void button1_Click(object sender, System.EventArgs e) {
    // Takes the selected text from a text box and puts it on the clipboard.
    if(textBox1.SelectedText != "")
       Clipboard.SetDataObject(textBox1.SelectedText);
    else
       textBox2.Text = "No text selected in textBox1";
 }
 
 private void button2_Click(object sender, System.EventArgs e) {
    // Declares an IDataObject to hold the data returned from the clipboard.
    // Retrieves the data from the clipboard.
    IDataObject iData = Clipboard.GetDataObject();
 
    // Determines whether the data is in a format you can use.
    if(iData.GetDataPresent(DataFormats.Text)) {
       // Yes it is, so display it in a text box.
       textBox2.Text = (String)iData.GetData(DataFormats.Text); 
    }
    else {
       // No it is not.
       textBox2.Text = "Could not retrieve data off the clipboard.";
    }
 }
 
Private Sub button1_Click(sender As Object, e As System.EventArgs)
    ' Takes the selected text from a text box and puts it on the clipboard.
    If textBox1.SelectedText <> "" Then
        Clipboard.SetDataObject(textBox1.SelectedText)
    Else
        textBox2.Text = "No text selected in textBox1"
    End If
End Sub 'button1_Click
 
Private Sub button2_Click(sender As Object, e As System.EventArgs)
    ' Declares an IDataObject to hold the data returned from the clipboard.
    ' Retrieves the data from the clipboard.
    Dim iData As IDataObject = Clipboard.GetDataObject()
    
    ' Determines whether the data is in a format you can use.
    If iData.GetDataPresent(DataFormats.Text) Then
        ' Yes it is, so display it in a text box.
        textBox2.Text = CType(iData.GetData(DataFormats.Text), String)
    Else
        ' No it is not.
        textBox2.Text = "Could not retrieve data off the clipboard."
    End If
End Sub 'button2_Click

Remarks

Список стандартных форматов для использования с Clipboard , представлена в разделе DataFormats класса.For a list of predefined formats to use with the Clipboard class, see the DataFormats class.

Вызовите SetDataObject поместить данные в буфере обмена, заменив его текущее содержимое.Call SetDataObject to put data on the Clipboard, replacing its current contents. Чтобы поместить сохраненную копию данных в буфер обмена, задайте copy параметр true.To place a persistent copy of the data on the Clipboard, set the copy parameter to true.

Примечание

Чтобы поместить данные в буфер обмена в нескольких форматах, используйте DataObject класса или IDataObject реализации.To place data on the Clipboard in multiple formats, use the DataObject class or an IDataObject implementation. Поместите данные в буфер обмена в нескольких форматах, чтобы максимизировать возможность, что целевое приложение, требования к формату, которого вы можете не знать, можно успешного получения требуемых данных.Place data on the Clipboard in multiple formats to maximize the possibility that a target application, whose format requirements you might not know, can successfully retrieve the data.

Вызовите GetDataObject для получения данных из буфера обмена.Call GetDataObject to retrieve data from the Clipboard. Данные возвращаются в виде объекта, реализующего IDataObject интерфейс.The data is returned as an object that implements the IDataObject interface. Используйте методы, указанные IDataObject и поля в DataFormats для извлечения данных из объекта.Use the methods specified by IDataObject and fields in DataFormats to extract the data from the object. Если вы не знаете формат данных, вы получили, вызвать GetFormats метод IDataObject интерфейс для получения списка всех форматов, эти данные хранятся в.If you do not know the format of the data you retrieved, call the GetFormats method of the IDataObject interface to get a list of all formats that data is stored in. Затем вызовите GetData метод IDataObject интерфейс и указать формат, который можно использовать приложение.Then call the GetData method of the IDataObject interface, and specify a format that your application can use.

В .NET Framework 2.0.NET Framework 2.0, Clipboard класс предоставляет дополнительные методы, которые упрощают процесс для работы с системного буфера обмена.In .NET Framework 2.0.NET Framework 2.0, the Clipboard class provides additional methods that make it easier to work with the system Clipboard. Вызовите Clear метод, чтобы удалить все данные из буфера обмена.Call the Clear method to remove all data from the Clipboard. Чтобы добавить данные определенного формата в буфер обмена, заменив существующие данные, вызовите соответствующий Set формат метод, такой как SetText, или вызвать SetData метод, чтобы задать формат.To add data of a particular format to the Clipboard, replacing the existing data, call the appropriate SetFormat method, such as SetText, or call the SetData method to specify the format. Для получения данных определенного формата из буфера обмена, сначала вызовите соответствующий Contains формат метод (например ContainsText) метод для определения, содержит ли буфер обмена данные в, форматирование, а затем вызвать соответствующие Get формат метод (например GetText) для получения данных, если в буфере.To retrieve data of a particular format from the Clipboard, first call the appropriate ContainsFormat method (such as ContainsText) method to determine whether the Clipboard contains data in that format, and then call the appropriate GetFormat method (such as GetText) to retrieve the data if the Clipboard contains it. Чтобы задать формат в этих операциях, вызовите ContainsData и GetData методы вместо этого.To specify the format in these operations, call the ContainsData and GetData methods instead.

Примечание

Все приложения на основе Windows совместно использовать в системный буфер обмена, поэтому содержимое изменяется при переходе в другое приложение.All Windows-based applications share the system Clipboard, so the contents are subject to change when you switch to another application.

Объект должен поддерживать сериализацию для помещения в буфер обмена.An object must be serializable for it to be put on the Clipboard. Если методу буфера обмена передается несериализуемый объект, метод завершится с ошибкой без выдачи исключения.If you pass a non-serializable object to a Clipboard method, the method will fail without throwing an exception. См. в разделе 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 и передать MemoryStream для SetData метод.To preserve your data format, add your data as a Byte array to a MemoryStream and pass the MemoryStream to the SetData method.

Clipboard Класс может использоваться только в потоках в однопотоковое подразделение (STA) режиме.The Clipboard class can only be used in threads set to single thread apartment (STA) mode. Чтобы использовать этот класс, убедитесь, что ваш Main метод помечен атрибутом STAThreadAttribute атрибута.To use this class, ensure that your Main method is marked with the STAThreadAttribute attribute.

Особые замечания, может потребоваться при использовании формата метафайла с буфером обмена.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). Дополнительные сведения см. в статье 323530 «Метафайлы на буфер обмена являются не отображается для всех приложений,» в базе знаний Майкрософт в http://support.microsoft.com.For more information, see article 323530, "Metafiles on Clipboard Are Not Visible to All Applications," in the Microsoft Knowledge Base at http://support.microsoft.com.

Methods

Clear() Clear() Clear() Clear()

Удаляет все данные из буфера обмена. Removes all data from the Clipboard.

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

Показывает, имеются ли в буфере обмена данные в формате WaveAudio. Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String) ContainsData(String) ContainsData(String) ContainsData(String)

Указывает, имеются ли в буфере обмена данные в указанном формате и могут ли они быть преобразованы в этот формат. Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.

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

Указывает, имеются ли в буфере обмена данные в формате FileDrop и могут ли они быть преобразованы в этот формат. Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.

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

Указывает, имеются ли в буфере обмена данные в формате Bitmap и могут ли они быть преобразованы в этот формат. Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.

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

Показывает, имеются ли в буфере обмена данные в формате Text или UnicodeText в зависимости от операционной системы. Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

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

Показывает, имеются ли в буфере обмена текстовые данные в формате, указываемом заданным значением TextDataFormat. Indicates whether there is text data on the Clipboard 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 Clipboard.

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

Извлекает данные из буфера обмена в указанном формате. Retrieves data from the Clipboard in the specified format.

GetDataObject() GetDataObject() GetDataObject() GetDataObject()

Извлекает данные, которые находятся в данный момент в системном буфере обмена. Retrieves the data that is currently on the system Clipboard.

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

Извлекает из буфера обмена коллекцию имен файлов. Retrieves a collection of file names from the Clipboard.

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

Служит хэш-функцией по умолчанию. Serves as the default hash function.

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

Получает изображения из буфера обмена. Retrieves an image from the Clipboard.

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

В зависимости от операционной системы извлекает текстовые данные из буфера обмена в формате Text или UnicodeText. Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

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

Извлекает текстовые данные из буфера обмена в формате, указанном заданным значением TextDataFormat. Retrieves text data from the Clipboard 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. Clears the Clipboard and then adds a Byte array in the WaveAudio format after converting it to a Stream.

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

Очищает буфер обмена и добавляет Stream в формате WaveAudio. Clears the Clipboard and then adds a Stream in the WaveAudio format.

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

Очищает буфер обмена и добавляет данные в указанном формате. Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object) SetDataObject(Object) SetDataObject(Object) SetDataObject(Object)

Очищает буфер обмена и помещает в него несохраняемые данные. Clears the Clipboard and then places nonpersistent data on it.

SetDataObject(Object, Boolean) SetDataObject(Object, Boolean) SetDataObject(Object, Boolean) SetDataObject(Object, Boolean)

Очищает буфер обмена и помещает данные в него и указывает, должны ли данные оставаться в буфере после выхода из приложения. Clears the Clipboard and then places data on it and specifies whether the data should remain after the application exits.

SetDataObject(Object, Boolean, Int32, Int32) SetDataObject(Object, Boolean, Int32, Int32) SetDataObject(Object, Boolean, Int32, Int32) SetDataObject(Object, Boolean, Int32, Int32)

Очищает буфер обмена и пытается поместить данные в него указанное число раз и с заданной задержкой между попытками, оставляя при необходимости данные в буфере обмена после выхода из приложения. Clears the Clipboard and then attempts to place data on it the specified number of times and with the specified delay between attempts, optionally leaving the data on the Clipboard after the application exits.

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

Очищает буфер обмена и добавляет коллекцию имен файлов в формате FileDrop. Clears the Clipboard and then adds a collection of file names in the FileDrop format.

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

Очищает буфер обмена и добавляет Image в формате Bitmap. Clears the Clipboard and then adds an Image in the Bitmap format.

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

Очищает буфер обмена и добавляет и добавляет текстовые данныев формате Text или UnicodeText в зависимости от операционной системы. Clears the Clipboard and then adds text data in the Text or UnicodeText format, depending on the operating system.

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

Очищает буфер обмена и добавляет текстовые данные в формате, указанном заданным значением TextDataFormat. Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

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

Возвращает строку, представляющую текущий объект. Returns a string that represents the current object.

(Inherited from Object)

Applies to

See Also