Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Trova, come fare???
Forum - C# / VB.NET - Trova, come fare???

Avatar
XnitroXTX (Normal User)
Rookie


Messaggi: 57
Iscritto: 13/04/2007

Segnala al moderatore
Postato alle 17:53
Mercoledì, 11/07/2007
ciao a tutti voi ragazzi di questo stupendo forum.
ho un piccolo problema.
nel mio programma ho messo un Richtextbox, e un pulsante "Trova", cosa devo scrivere in questo pulsante per trovare la parolo che gli dico io in un textbox.
grazie per l'aiuto.

P.S.: il pulsante trova si trova in una finestra di dialogo che si apre cliccando su un'altro pulsante trova (è uguale al "Trova" del blocco note windows, oppure a quello di Word

PM Quote
Avatar
Dax89 (Member)
Expert


Messaggi: 283
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 20:35
Mercoledì, 11/07/2007
Nella form Trova puoi creare una proprietà che viene riempita dal Testo che c'è nel TextBox, poi usi il metodo Find del RichTextBox.
Ti consiglio anche di usare il metodo Focus dopo quello Find così ti seleziona automaticamente il controllo.:k:
Se mi dici il linguaggio ti metto anche il codice sorgente, cosi ti è tutto più chiaro!!;)

Ultima modifica effettuata da Dax89 il 12/07/2007 alle 9:18
PM Quote
Avatar
XnitroXTX (Normal User)
Rookie


Messaggi: 57
Iscritto: 13/04/2007

Segnala al moderatore
Postato alle 17:17
Giovedì, 12/07/2007
il linguaggio è il VB.NET
si è meglio il codice
grazie


PM Quote
Avatar
Dax89 (Member)
Expert


Messaggi: 283
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 20:06
Giovedì, 12/07/2007
Ora ti spiego cosa devi fare (se vedi qualche errore nel codice è perchè non programmo in VB.NET :D)

Allora nella form per il testo imposta la proprietà "DialogResult" del pulsante Trova su "OK".

Nella classe metti questo campo:
Codice sorgente - presumibilmente C# / VB.NET

  1. Private _TestoDaCercare As String



E questa proprietà:
Codice sorgente - presumibilmente VB.NET

  1. Public ReadOnly Property TestoDaCercare() As String
  2.   Get
  3.     Return Me._TestoDaCercare
  4.   End Get
  5. End Property



Che si serviranno per ricavare il testo messo nel TextBox, poi nell'evento Click del pulsante Trova assegnamo alla variabile "_TestoDaCercare" il valore del testo inserito:

Codice sorgente - presumibilmente VB.NET

  1. Sub PulsanteCercaClick(sender As Object, e As EventArgs)
  2.   Me._TestoDaCercare = Me.textBox1.Text
  3. End Sub



Ora, tornando all'evento Trova della finestra principale facciamo vedere la form e troviamo il testo:

Codice sorgente - presumibilmente VB.NET

  1. Dim fFind As New FormFind()
  2.   Dim result As DialogResult = fFind.ShowDialog()
  3.  
  4.   If result = DialogResult.OK Then
  5.     Me.richTextBox1.SelectionStart = Me.richTextBox1.Find(fFind.TestoDaCercare)
  6.     Me.richTextBox1.Focus()
  7.   End If



Ora ti spiego:
Nella classe dove cerchiamo il testo abbiamo assegnato la proprietà "TestoDaCercare" per poi, recuperarla quando premiamo il tasto "Trova", il metodo Find ci restituisce la posizione della prima occorrenza del testo passato come parametro, quindi lo facciamo posizionare grazie alla proprietà SelectionStart.
Se non hai capito fammelo sapere!!:k:

Ultima modifica effettuata da Dax89 il 12/07/2007 alle 20:07
PM Quote
Avatar
Arcadia (Normal User)
Rookie


Messaggi: 21
Iscritto: 16/07/2007

Segnala al moderatore
Postato alle 17:55
Lunedì, 16/07/2007
Metodo semplicissimo: crea un piccolo form (mainfrm) ed inserisci una textbox (textbox1), un pulsante(button1) ed una Richtextbox , poi inserisci il seguente codice nel button1 :
' cerca il testo della textbox1 nella RTB
        On Error Resume Next
        Dim a As Integer
        a = mainfrm.RichTextBox.Find(TextBox1.Text)
        Label1.Text = a
        mainfrm.RichTextBox.Select(a, TextBox1.Text.Length)
        mainfrm.RichTextBox.Focus()


Ciaoooooooo
(vedrai che funge);)

PM Quote