Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
TextBox a RunTime
mercoledì 06 settembre 2006 - 12.58
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
riminese77
Profilo
| Junior Member
52
messaggi | Data Invio:
mer 6 set 2006 - 12:58
Ciao a tutti,
ho un piccolo problema, lo riassumo brevemente:
Ho una MDI che apre una formA, questa costruisce una textBoxA a RunTime, poi chiama una routine ModuloA,.
Vorrei che tornando dal ModuloA, mi setta il focus su TextBoxA. Sono riuscito a farlo per tutti i controlli inseriti nel formA, ma quello creato a RunTime è appartenente ad un PannelBox e non riesco a richiamarlo....
Beh spero di essere stato chiaro...
Un'ultima cosa, io ho Vb.Net la versione 2002 quindi la prima che è uscita, pur avendo installato tutti i tipi di Framework non riesco a fare visualizzare i Form con lo Stile di Xp. VisualStyle.enable = true (per intenderci), il comando VisualStyle non esiste in questa Versione di VB.net?
Un grazie in anticipo!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 6 set 2006 - 14:59
Dovresti postare il codice che usi. A me questo codice funziona (VS2003), tu che sistema hai usato?
Public Class Form1
Inherits System.Windows.Forms.Form
Dim WithEvents t As TextBox
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
t = New TextBox
t.Name = "CreataARunTime"
t.Size = New System.Drawing.Size(75, 20)
t.BackColor = Color.White
t.ForeColor = Color.Black
t.Text = "Trovami"
Me.Panel1.Controls.Add(t)
t.BringToFront()
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.t.Text = "Trovata!"
End Sub
End Class
rimini
Profilo
| Newbie
18
messaggi | Data Invio:
lun 11 set 2006 - 12:37
Ciao, grazie intanto dell'interessamento,
Allora nel modulo creo l'oggetto Text :
***
Friend TiCogn As New TextBox()
***
ed infine, tutte le procedure per il textchange, il textvalidating ecc ecc.
Ora nel Form scrivo:
****
InizializzaTCogn(8, 8, 272, 24, "COGNOME")
FAnaCli.PanelAna.Controls.Add(TiCogn)
' Me.Controls.Add(TiCogn)
TiCogn.TabIndex = 2
****
e richiamo tutte le procedure di change ecc ecc e si comporta normalmente come una textbox.
Ora in un'altra procedura che richiamo dal Form, se è vera, mi deve tornare al Form e settare il focus sul TiCogn.... ma ovviamente non riesco...
La mia idea è questa (il controllo esiste e viene creato)
****
With (currentForm.Container.Components("TidTecCli"))
currentForm.Select(FAnaCli.PanelAna.controls("TiCogn").Focus
End With
****
è palesemente sbagliato, ma non so come procedere.
P.S. il currentForm è il Form aperto in questo caso quello che ho creato.
Grazie e a presto spero!
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
lun 11 set 2006 - 13:24
>Ciao, grazie intanto dell'interessamento,
>Allora nel modulo creo l'oggetto Text :
>***
> Friend TiCogn As New TextBox()
>***
>ed infine, tutte le procedure per il textchange, il textvalidating
>ecc ecc.
>
>Ora nel Form scrivo:
>****
> InizializzaTCogn(8, 8, 272, 24, "COGNOME")
> FAnaCli.PanelAna.Controls.Add(TiCogn)
> ' Me.Controls.Add(TiCogn)
> TiCogn.TabIndex = 2
>****
>e richiamo tutte le procedure di change ecc ecc e si comporta
>normalmente come una textbox.
>Ora in un'altra procedura che richiamo dal Form, se è vera, mi
>deve tornare al Form
Ma chiudi o nascondi il form, oppure chiami solo del 'codice', e quindi il focus rimane alla form che contiene la famigerata TiCogn?
Perchè in tale caso dovrebbe bastare:
If MiaProceduraCheSeTornaTrueDeveDareIlFocusATiCogn Then
TiCogn.Focus
End If
O per caso il tuo problema è di ottenere un riferimento al form che contiene TiCogn? In altre parole, riesci ad accedere ai controlli e alle proprietà del form che contiene TiCogn, nel momento in cui cerchi di assegnare il focus a quest'ultima?
rimini
Profilo
| Newbie
18
messaggi | Data Invio:
lun 11 set 2006 - 17:08
Un'idea potrebbe essere quella che dici tu, di applicare il focus quando richiamo il codice, ma sarebbe meglio poter checcare direttamente dal modulo la Textbox.
Il Form rimane visibile, tanto è una procedura di qualche secondo.
Ti inserisco questo codice che inserisco nel modulo come prova e verifica se TidTecCli è presente nel Form che lo sta richiamando:
****
If currentForm.Contains(TidTecCli) Then
currentForm.Controls("TidTecCli).Focus() ' La mia TEXT è sotto un Panel
MsgBox("C'è")
Else
MsgBox("non c'e'!!")
End If
*****
Qui vede il controllo e visualizza la MexBox "C'è" .
la seconda riga che setta il focus è sbagliata perchè dovrei inserire il numero del controllo che non so, come posso sostituirla?
Praticamente non so come scrivere di mettere il focus su un controllo creato a RunTime e Aggiunto in un panelControl :(
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !