RichTextBox.CanPaste(DataFormats+Format) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Determina si se puede pegar información desde el Portapapeles en el formato de datos especificado.
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
Parámetros
- clipFormat
- DataFormats.Format
Uno de los valores de DataFormats.Format.
Devoluciones
Es true
si se pueden pegar datos desde el Portapapeles en el formato especificado; de lo contrario, es false
.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el Paste método para pegar un mapa de bits en el RichTextBox control . Después de abrir un mapa de bits desde el archivo, en el ejemplo se usa el SetDataObject método para copiar el mapa de bits en el Portapapeles de Windows. Por último, el ejemplo recupera el formato del Bitmap objeto , usa el CanPaste método para comprobar que el formato se puede pegar en el RichTextBox control y, a continuación, usa el Paste método para pegar los datos.
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
Comentarios
Puede usar este método para determinar si el contenido actual del Portapapeles está en un formato de datos del Portapapeles especificado antes de permitir que el usuario pegue la información en el RichTextBox control. Por ejemplo, podría crear un controlador de eventos para un evento de un Popup comando MenuItem paste y usar este método para determinar si el pegado MenuItem debe habilitarse en función del tipo de datos del Portapapeles.