Não é possível largar texto num controlo RichTextBox utilizando um código de exemplo de documentação MSDN

Traduções de Artigos Traduções de Artigos
Artigo: 814309 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Informações sobre o Beta
Este artigo aborda uma versão beta de um Microsoft produto. As informações contidas neste artigo são fornecidas como está e estão sujeitas a alterações sem aviso prévio.

Não fornece suporte técnico formal está disponível a partir da Microsoft para este produto beta. Para obter informações sobre como obter suporte para uma versão beta, consulte a documentação incluída com o Beta ficheiros do produto, ou verifique a localização da Web a partir do qual transferiu.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Tentar arrastar um controlo RichTextBox com o código das "Activar arrastar e largar operações com o controlo do Windows Forms RichTextBox" documento MSDN. A alteração pode ocorrer no ponteiro quando arrastar o texto a partir do WordPad. No entanto, não pode largar o texto de RichTextBox .

Causa

Este problema ocorre porque existe um código para o evento de Largar na documentação do MSDN. Por conseguinte, não pode largar o texto que seleccionou no WordPad em RichTextBox .

Resolução

Para contornar este problema, adicione um evento de DragDrop para RichTextBox1 . Para o fazer, utilize as seguintes instruções.

Visual Basic .NET ou Visual Basic 2005

Adicione o seguinte código no evento de DragDrop 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 ou Visual C# 2005

Adicione o seguinte código do construtor de classe Form1 depois da instrução InitializeComponent() :
// Handler for DragDrop event
this.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.rtb_dragdrop);
adicionar o seguinte procedimento ao código depois do 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;
}

Ponto Da Situação

Este comportamento ocorre por predefinição.

Mais Informação

Passos para reproduzir o comportamento

  1. No Microsoft Visual Studio .NET ou no Microsoft Visual Studio 2005, crie um novo Windows projecto de aplicação utilizando o Visual Basic. NET, Visual Basic 2005, Visual C# .NET ou Visual C# 2005.

    Por predefinição, é criado o Form1 .
  2. Da caixa de ferramentas, arraste um RichTextBox controlo ao Form1 .

    RichTextBox1 é criado no Form1 .
  3. Clique com o botão direito do rato RichTextBox1 e, em seguida, clique em Propriedades .
  4. Na janela Propriedades, defina o valor para AllowDrop como true .
  5. Clique com o botão direito do rato em Form1 e, em seguida, clique em Código .
  6. Adicione o seguinte código no evento DragEnter RichTextBox1 :

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

    Não pode largar o texto.

Referências

Para mais informações, visite o seguinte Web site da MSDN:

Permitir operações de arrastar e largar com os Windows Forms RichTextBox controlo
http://msdn2.microsoft.com/en-us/library/Aa984395(VS.71).aspx
Para mais informações sobre o evento RichTextBox.DragEnter e o evento RichTextBox.DragDrop , consulte a documentação do .NET Framework SDK ou visite o seguinte Web site da MSDN:

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

Propriedades

Artigo: 814309 - Última revisão: 26 de fevereiro de 2014 - Revisão: 2.9
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbprb kbwindowsforms kbproperties kbevent kbrichedit kbdragdrop KB814309 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 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