╚ Impossibile eliminare il testo in un controllo RichTextBox utilizzando un esempio di codice dalla documentazione di MSDN

Traduzione articoli Traduzione articoli
Identificativo articolo: 814309 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo Ŕ stato archiviato. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.
Informazioni Beta
Nel presente articolo viene illustrata una versione beta di un prodotto Microsoft. Le informazioni contenute in questo articolo vengono fornite "nello stato in cui si trovano" e sono soggette a modifiche senza preavviso.

Per questo prodotto beta Microsoft non fornisce alcun tipo di supporto formale. Per informazioni su come ottenere supporto per una versione Beta, consultare la documentazione fornita con la versione beta i file di prodotto, oppure controllare il sito Web da cui Ŕ stata scaricata la versione.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si tenta di trascinare un controllo RichTextBox con il codice in "Operazioni di trascinamento-di attivazione con il controllo Windows Form RichTextBox" documento di MSDN. La modifica pu˛ verificarsi nel puntatore del mouse quando si trascina il testo da WordPad. Tuttavia, Ŕ Impossibile eliminare il testo dalla RichTextBox .

Cause

Questo problema si verifica perchÚ non esiste nessun codice per l'evento diretta nella documentazione MSDN. Non Ŕ pertanto possibile eliminare il testo selezionato da WordPad in RichTextBox .

Risoluzione

Per risolvere questo problema, Ŕ possibile aggiungere un evento DragDrop per RichTextBox1 . Per effettuare questa operazione, utilizzare le istruzioni riportate di seguito.

Visual Basic .NET o Visual Basic 2005

Aggiungere il codice riportato di seguito nell'evento 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 o Visual C# 2005

Aggiungere il seguente codice al costruttore della classe Form1 dopo l'istruzione InitializeComponent() :
// Handler for DragDrop event
this.richTextBox1.DragDrop += new System.Windows.Forms.DragEventHandler(this.rtb_dragdrop);
aggiungere la procedura riportata di seguito al codice dopo il metodo 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;
}

Status

Questo comportamento legato alla progettazione.

Informazioni

Procedura per riprodurre il problema.

  1. In Microsoft Visual Studio .NET o in Microsoft Visual Studio 2005, creare un nuovo Windows progetto di applicazione utilizzando Visual Basic. NET, Visual Basic 2005, Visual C# .NET o Visual C# 2005.

    Per impostazione predefinita, verrÓ creato Form1 .
  2. Dalla casella degli strumenti trascinare un RichTextBox controllo a Form1 .

    RichTextBox1 viene creato sul Form1 .
  3. Fare clic con il pulsante destro del mouse su RichTextBox1 e quindi fare clic su ProprietÓ .
  4. Nella finestra ProprietÓ impostare il valore per AllowDrop su true .
  5. Fare clic con il pulsante destro del mouse su Form1 e quindi fare clic su Visualizza codice .
  6. Aggiungere il codice riportato di seguito nell'evento DragEnter RichTextBox1 :

    Visual Basic .NET o codice di 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 codice di 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. Provare a trascinare testo da WordPad RichTextBox1 .

    Impossibile eliminare il testo.

Riferimenti

Per ulteriori informazioni, visitare il seguente sito Web MSDN:

L'attivazione di operazioni di trascinamento-con Windows Form controllo RichTextBox
http://msdn2.microsoft.com/en-us/library/Aa984395(VS.71).aspx
Per ulteriori informazioni sull'evento RichTextBox.DragEnter e l'evento RichTextBox.DragDrop , consultare la documentazione di .NET Framework SDK oppure visitare il seguente sito Web MSDN:

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

ProprietÓ

Identificativo articolo: 814309 - Ultima modifica: mercoledý 26 febbraio 2014 - Revisione: 2.9
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbprb kbwindowsforms kbproperties kbevent kbrichedit kbdragdrop KB814309 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 814309
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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