No se puede colocar texto en un control RichTextBox utilizando un ejemplo de código de la documentación de MSDN

Seleccione idioma Seleccione idioma
Id. de artículo: 814309 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Información de la versión beta
En este artículo se describe una versión Beta de un producto de Microsoft. La información contenida en este artículo se proporciona tal cual y está sujeta a cambios sin previo aviso.

No hay disponible soporte técnico formal del producto por parte de Microsoft para esta versión Beta. Si desea información acerca de cómo obtener soporte técnico para una versión Beta, consulte la documentación incluida con los archivos del producto o busque en el sitio Web desde el que descargó la versión.
Expandir todo | Contraer todo

En esta página

Síntomas

Intenta arrastrar un control RichTextBox con el código en las opción "Habilitar operaciones arrastrar y colocar con el Control RichTextBox de formularios Windows Forms" en el documento de MSDN. Cuando arrastra el texto desde WordPad, puede producirse el cambio en el puntero. Sin embargo, no se puede colocar el texto de RichTextBox .

Causa

Este problema se produce porque no hay ningún código para el evento colocar en la documentación de MSDN. Por lo tanto, no se puede colocar el texto que seleccione desde WordPad en RichTextBox .

Solución

Para evitar este problema, agregue un evento DragDrop para RichTextBox1 . Para ello, utilice las instrucciones siguientes.

Visual Basic .NET o Visual Basic 2005

Agregue el código siguiente en el evento DragDrop de RichTextBox1 :
   Dim i As Int16 
   Dim s As String

   ' Get Start Position For the for Dropping the Text  
   i = RichTextBox1.SelectionStart
   s = RichTextBox1.Text.Substring(i)
   RichTextBox1.Text = RichTextBox1.Text.Substring(0, i)

   ' Drop the Text on to the RichTextBox
   RichTextBox1.Text = RichTextBox1.Text + e.Data.GetData(DataFormats.Text).ToString()
   RichTextBox1.Text = RichTextBox1.Text + s
   
Visual C# .NET o Visual C# 2005

Agregue el código siguiente al constructor de clase Form1 después de la instrucción InitializeComponent() :
// Handler for DragDrop event
this.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.rtb_dragdrop);
agregar el siguiente procedimiento en el código después el método Main() :
private void rtb_dragdrop(object sender,DragEventArgs e)
{
   int i;
   String s;
   
   // Get Start Position to Drop the Text  
   i = richTextBox1.SelectionStart;
   s = richTextBox1.Text.Substring(i);
   richTextBox1.Text = richTextBox1.Text.Substring(0,i);

   // Drop the Text on the RichTextBox
   richTextBox1.Text = richTextBox1.Text + e.Data.GetData(DataFormats.Text).ToString();
   richTextBox1.Text = richTextBox1.Text + s;
}

Estado

Este comportamiento es por diseño.

Más información

Pasos para reproducir el comportamiento

  1. En Visual Studio.NET o Microsoft Visual Studio 2005, cree un Windows nuevo proyecto de aplicación utilizando Visual Basic. NET, Visual Basic 2005, Visual C# .NET o Visual C# 2005.

    De forma predeterminada, se crea Form1 .
  2. En el cuadro de herramientas, arrastre un RichTextBox control a Form1 .

    RichTextBox1 se crea en Form1 .
  3. Haga clic con el botón secundario del mouse en RichTextBox1 y, a continuación, haga clic en Propiedades .
  4. En la ventana Propiedades, establezca el valor para AllowDrop en true .
  5. Haga clic con el botón secundario del mouse en Form1 y, a continuación, haga clic en Ver código .
  6. Agregue el código siguiente en el evento DragEnter del RichTextBox1 :

    Visual Basic .NET o código de Visual Basic 2005
       If (e.Data.GetDataPresent(DataFormats.Text)) Then
          e.Effect = DragDropEffects.Copy
       Else
          e.Effect = DragDropEffects.None
       End If
    
    Visual C# .NET o código de Visual C# 2005
    private void rtb_dragenter(object sender,DragEventArgs e)
    {
       if (e.Data.GetDataPresent(DataFormats.Text)) 
          e.Effect = DragDropEffects.Copy ;
       else
          e.Effect = DragDropEffects.None ;
    }
  7. Intente arrastrar texto desde WordPad a RichTextBox1 .

    No se puede colocar el texto.

Referencias

Para obtener más información, visite el siguiente sitio Web MSDN:

Habilitar operaciones de arrastrar y colocar con formularios Windows Forms Control RichTextBox
http://msdn2.microsoft.com/en-us/library/Aa984395(VS.71).aspx
Para obtener más información sobre el evento RichTextBox.DragEnter y el evento RichTextBox.DragDrop , consulte la documentación de .NET Framework SDK o visite el siguiente sitio Web de MSDN:

Evento RichTextBox.DragEnter
http://msdn2.microsoft.com/en-us/library/system.windows.forms.richtextbox.dragenter(vs.71).aspx

Propiedades

Id. de artículo: 814309 - Última revisión: miércoles, 26 de febrero de 2014 - Versión: 2.9
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft Visual C# .NET 2002 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbprb kbwindowsforms kbproperties kbevent kbrichedit kbdragdrop KB814309 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 814309

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com