次の方法で共有


RichTextBox.CanPaste(DataFormats+Format) メソッド

定義

クリップボードの情報を指定したデータ形式で貼り付けできるかどうかを確認します。

public:
 bool CanPaste(System::Windows::Forms::DataFormats::Format ^ clipFormat);
public bool CanPaste (System.Windows.Forms.DataFormats.Format clipFormat);
member this.CanPaste : System.Windows.Forms.DataFormats.Format -> bool
Public Function CanPaste (clipFormat As DataFormats.Format) As Boolean

パラメーター

clipFormat
DataFormats.Format

DataFormats.Format 値のいずれか 1 つ。

戻り値

クリップボードのデータを指定したデータ形式で貼り付けできる場合は true。それ以外の場合は false

次のコード例では、 メソッドを使用 Paste してビットマップをコントロールに貼り付ける方法を RichTextBox 示します。 ファイルからビットマップを開いた後、 メソッドを SetDataObject 使用してビットマップを Windows クリップボードにコピーします。 最後に、この例では オブジェクトの形式 Bitmap を取得し、 メソッドを CanPaste 使用して書式をコントロールに RichTextBox 貼り付けることができることを確認し、 メソッドを Paste 使用してデータを貼り付けます。

private:
   bool pasteMyBitmap( String^ fileName )
   {
      // Open an bitmap from file and copy it to the clipboard.
      Bitmap^ myBitmap = gcnew Bitmap( fileName );

      // Copy the bitmap to the clipboard.
      Clipboard::SetDataObject( myBitmap );

      // Get the format for the object type.
      DataFormats::Format^ myFormat = DataFormats::GetFormat( DataFormats::Bitmap );

      // After verifying that the data can be pasted, paste it.
      if ( richTextBox1->CanPaste( myFormat ) )
      {
         richTextBox1->Paste( myFormat );
         return true;
      }
      else
      {
         MessageBox::Show( "The data format that you attempted to paste is not supported by this control." );
         return false;
      }
   }
private bool pasteMyBitmap(string fileName)
{

    // Open an bitmap from file and copy it to the clipboard.
    Bitmap myBitmap = new Bitmap(fileName);
            
    // Copy the bitmap to the clipboard.
    Clipboard.SetDataObject(myBitmap);

    // Get the format for the object type.
    DataFormats.Format myFormat = DataFormats.GetFormat(DataFormats.Bitmap);

    // After verifying that the data can be pasted, paste it.
    if(richTextBox1.CanPaste(myFormat))
    {
        richTextBox1.Paste(myFormat);
        return true;
    }
    else
    {
        MessageBox.Show("The data format that you attempted to paste is not supported by this control.");
        return false;
    }
}
Private Function PasteMyBitmap(ByVal Filename As String) As Boolean

    'Open an bitmap from file and copy it to the clipboard.
    Dim MyBitmap As Bitmap
    MyBitmap = Bitmap.FromFile(Filename)

    ' Copy the bitmap to the clipboard.
    Clipboard.SetDataObject(MyBitmap)

    ' Get the format for the object type.
    Dim MyFormat As DataFormats.Format = DataFormats.GetFormat(DataFormats.Bitmap)

    ' After verifying that the data can be pasted, paste it.
    If RichTextBox1.CanPaste(MyFormat) Then

        RichTextBox1.Paste(MyFormat)
        PasteMyBitmap = True

    Else

        MessageBox.Show("The data format that you attempted to paste is not supported by this control.")
        PasteMyBitmap = False

    End If


End Function

注釈

このメソッドを使用すると、ユーザーがコントロールに情報 RichTextBox を貼り付ける前に、クリップボードの現在の内容が指定されたクリップボード データ形式であるかどうかを判断できます。 たとえば、paste コマンドMenuItemのイベントのイベント ハンドラーPopupを作成し、このメソッドを使用して、クリップボード内のデータの種類に基づいて貼り付けをMenuItem有効にするかどうかを判断できます。

適用対象

こちらもご覧ください