Casella di testo in modalità autocompletemode

di il
5 risposte

Casella di testo in modalità autocompletemode

Non riesco a collegare una textbox2 a un file di testo contenente una serie di nomi in modo tale che sia in modalità autocomplete mi spiego meglio in vb2010 creo cartella contenente un file di testo dove vado a scrivere tramite textbox1 una lista di nomi c:\elenco\nomi.txt. Ora vorrei che digitando una lettera in una texbox2 si attivasse la modalità di autocompletamento delle parole in riferimento al contenuto del file di testo ( in pratica autocompletamento automatico sulla textbox2 grazie ho trovato sul sito microsoft il codice elencato sotto ma non si riferisce alla lettura di un txt ma ad un elenco di mesi aggiunti in fase di programmazione Come posso cambiarlo? ) Qualcuno puo darmi un aiuto sul codice da inserire?

Imports System.IO.File

Public Class Form1

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

If My.Computer.FileSystem.FileExists("c:\elenco\") Then
Else

My.Computer.FileSystem.CreateDirectory("c:\elenco\")

End If


If My.Computer.FileSystem.FileExists("c:\elenco\nomi.txt") = False Then
Dim scrivi As New IO.StreamWriter("c:\elenco\nomi.txt")
scrivi.Close()


End If



Private Sub cmdsalva_Click(sender As System.Object, e As System.EventArgs) Handles cmdsalva.Click

Dim scrivi = TextBox1.Text ' scrive nel file di testo un elenco di nominativi

Dim aggiorna As IO.StreamWriter

aggiorna = IO.File.AppendText("c:\elenco\nomi.txt aggiorna.WriteLine(scrivi)

aggiorna.Close()

End Sub


Dim MySource As New AutoCompleteStringCollection()
MySource.AddRange(New String() _
{ _
"January", _
"February", _
"March", _
"April", _
"May", _
"June", _
"July", _
"August", _
"September", _
"October", _
"November", _
"December" _
})

' Create and initialize the text box.
Dim MyTextBox2 As New TextBox()
With MyTextBox2
.AutoCompleteCustomSource = MySource
.AutoCompleteMode = AutoCompleteMode.SuggestAppend
.AutoCompleteSource = AutoCompleteSource.CustomSource
.Location = New Point(20, 20)
.Width = Me.ClientRectangle.Width - 40
.Visible = True
End With

' Add the text box to the form.
Me.Controls.Add(MyTextBox2)

End Class

5 Risposte

  • Re: Casella di testo in modalità autocompletemode

    Crossposting

    http://forum.masterdrive.it/visual-basic-net-18/rendere-textbox-autocompletemode-87582/
  • Re: Casella di testo in modalità autocompletemode

    Mi dispiace, sono poco pratico dei forum, mea culpa, anche perche nell'altro forum non ho trovato l'aiuto che necessito per portare avanti il mio progetto, mi è stato detto che siccome la risposta esiste dovevo trovarla da me, ma se ero in grado non facevo la richiesta, è come dire a una persona che sta affogando che siccome è possibile nuotare se la deve sbrigare da sola,,,,, sono diversi giorni che non faccio un passo avanti, qualcuno puo aiutarmi in merito? in ogni modo mi scuso ancora e se non è possibile pazienza, grazie ugualmente e scusatemi anche per lo sfogo
  • Re: Casella di testo in modalità autocompletemode

    facocero ha scritto:


    mi dispiace, sono poco pratico dei forum, mea culpa, anche perche nell'altro forum non ho trovato l'aiuto che necessito per portare avanti il mio progetto, mi è stato detto che siccome la risposta esiste dovevo trovarla da me,
    Non ti è stato detto nulla di tutto ciò ...

    Ti è stato dato un link che risolve il tuo problema, in cui c'è un esempio con dei dati inseriti da codice e che bastava sostituire leggendoli dal file.

    Quel metodo risolve il problema autocompletamento (che era la richiesta). Se non sai come leggere da un file di testo e, alla fine, vuoi tutto il codice pronto, ti è stato detto che "la pappa pronta" è vietata in quel forum (cosa che, fra l'altro, è vietata anche qui).
    ma se ero in grado non facevo la richiesta
    Io penso che quando si entra in "casa d'altri", si leggono prima le regole e si rispettano. Se non piacciono le regole, non si entra. Tu non solo non le hai lette, ma le contesti ... come fosse casa tua ...
  • Re: Casella di testo in modalità autocompletemode

    Brutta partenza vero? vabbè pazienza mi scuso nuovamente e per il problema in qualche modo prima o poi spero di risolverlo, tra l'altro è solo una funzione secondaria rispetto al programma, grazie ugualmente
  • Re: Casella di testo in modalità autocompletemode

    Ho realizzato questo codice ma non funziona, dove è l'errore? grazie


    Imports System.IO.File
    Public Class Form1

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

    If My.Computer.FileSystem.FileExists("c:\elenco\") Then
    Else
    My.Computer.FileSystem.CreateDirectory("c:\elenco\")

    End If

    If My.Computer.FileSystem.FileExists("c:\elenco\nomi.txt") = False Then
    Dim scrivi As New IO.StreamWriter("c:\elenco\nomi.txt")
    scrivi.Close()
    End If

    Dim directory As New IO.DirectoryInfo("C:\elenco\nomi.txt")

    TextBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend
    TextBox2.AutoCompleteSource = AutoCompleteSource.CustomSource
    For Each f As IO.FileInfo In directory.GetFiles

    TextBox2.AutoCompleteCustomSource.Add(f.Name)
    Next
    TextBox2.Clear()

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim scrivi = TextBox1.Text ' scrive nel file di testo un elenco di nominativi

    Dim aggiorna As IO.StreamWriter
    aggiorna = IO.File.AppendText("c:\elenco\nomi.txt")
    aggiorna.WriteLine(scrivi)
    aggiorna.Close()
    TextBox1.Text = ""

    End Sub

    End Class
Devi accedere o registrarti per scrivere nel forum
5 risposte