Clipboard クラス

定義

システム クリップボードにデータを貼り付けるメソッド、またはシステム クリップボードのデータを取得するメソッドを提供します。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
継承
Clipboard

次のコード例でClipboardは、メソッドを使用して、システムクリップボードにデータを格納し、そのデータを取得します。The following code example uses Clipboard methods to place data on and retrieve it from the system Clipboard. このコードでbutton1button2 textBox2 textBox1、、、、およびが作成され、フォームに配置されていることを前提としています。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. このコードでIDataObjectDataFormats 、とを使用して返されたデータ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
 
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

注釈

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. IDataObjectDataFormatsフィールドとフィールドで指定したメソッドを使用して、オブジェクトからデータを抽出します。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.0Clipboard 、クラスには、システムクリップボードを簡単に操作できるようにする追加のメソッドが用意されています。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. これらの操作で形式を指定するにはContainsDataGetData代わりにメソッドとメソッドを呼び出します。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としてに追加SetDataMemoryStream 、をメソッドに渡します。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).

メソッド

Clear()

すべてのデータをクリップボードから削除します。Removes all data from the Clipboard.

ContainsAudio()

クリップボードに WaveAudio 形式のデータが存在するかどうかを示します。Indicates whether there is data on the Clipboard in the WaveAudio format.

ContainsData(String)

指定した形式のデータ、またはその形式に変換できるデータがクリップボードに存在するかどうかを示します。Indicates whether there is data on the Clipboard that is in the specified format or can be converted to that format.

ContainsFileDropList()

FileDrop 形式のデータ、またはその形式に変換できるデータがクリップボードに存在するかどうかを示します。Indicates whether there is data on the Clipboard that is in the FileDrop format or can be converted to that format.

ContainsImage()

Bitmap 形式のデータ、またはその形式に変換できるデータがクリップボードに存在するかどうかを示します。Indicates whether there is data on the Clipboard that is in the Bitmap format or can be converted to that format.

ContainsText()

オペレーティング システムに応じて、Text 形式または UnicodeText 形式のデータがクリップボードに存在するかどうかを示します。Indicates whether there is data on the Clipboard in the Text or UnicodeText format, depending on the operating system.

ContainsText(TextDataFormat)

指定した TextDataFormat 値で示される形式のテキスト データがクリップボードに存在するかどうかを示します。Indicates whether there is text data on the Clipboard in the format indicated by the specified TextDataFormat value.

Equals(Object)

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

(継承元 Object)
GetAudioStream()

クリップボードからオーディオ ストリームを取得します。Retrieves an audio stream from the Clipboard.

GetData(String)

クリップボードから指定した形式でデータを取得します。Retrieves data from the Clipboard in the specified format.

GetDataObject()

現在システム クリップボードにあるデータを取得します。Retrieves the data that is currently on the system Clipboard.

GetFileDropList()

ファイル名のコレクションをクリップボードから取得します。Retrieves a collection of file names from the Clipboard.

GetHashCode()

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

(継承元 Object)
GetImage()

クリップボードからイメージを取得します。Retrieves an image from the Clipboard.

GetText()

オペレーティング システムに応じて、クリップボードから Text 形式または UnicodeText 形式でテキスト データを取得します。Retrieves text data from the Clipboard in the Text or UnicodeText format, depending on the operating system.

GetText(TextDataFormat)

クリップボードから、指定した TextDataFormat 値で示される形式でテキスト データを取得します。Retrieves text data from the Clipboard in the format indicated by the specified TextDataFormat value.

GetType()

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

(継承元 Object)
MemberwiseClone()

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

(継承元 Object)
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)

クリップボードをクリアし、StreamWaveAudio 形式で追加します。Clears the Clipboard and then adds a Stream in the WaveAudio format.

SetData(String, Object)

クリップボードをクリアし、データを指定した形式で追加します。Clears the Clipboard and then adds data in the specified format.

SetDataObject(Object)

クリップボードをクリアし、データをクリップボードに非永続的に貼り付けます。Clears the Clipboard and then places nonpersistent data on it.

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)

クリップボードをクリアした後、指定した回数、指定した試行間隔でクリップボードにデータの貼り付けを試み、オプションで、アプリケーションが終了したときにクリップボードにデータを残したままにします。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)

クリップボードをクリアし、ファイル名のコレクションを FileDrop 形式で追加します。Clears the Clipboard and then adds a collection of file names in the FileDrop format.

SetImage(Image)

クリップボードをクリアし、ImageBitmap 形式で追加します。Clears the Clipboard and then adds an Image in the Bitmap format.

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)

クリップボードをクリアし、テキスト データを、指定した TextDataFormat 値で示される形式で追加します。Clears the Clipboard and then adds text data in the format indicated by the specified TextDataFormat value.

ToString()

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

(継承元 Object)

適用対象

こちらもご覧ください