Newsgroup: it.comp.lang.visual-basic
Titolo: [VB.NET, ma anche VB6... :)] Ocus Focus!

raga, io non ho ancora capito bene il significato
della funzione "Focus"!... pensavo che "attivasse"
il form "mettendolo a fuoco" :), e invece no!
allora... ecco il mio problema:
dal form principale richiamo un altro form
in questo modo:
FrmAbout.DefInstance.Show()
solo che il form non č attivo! (cioč la barra del nome
del form č grigia...)
se dopo ci do un Focus non accade nulla! io vorrei che
invece diventasse attiva, blu! :)
ho anche un problema analogo con delle textbox:
non riesco a dire al cursore di andare in una determinata
casella di testo... qual'č la funzione?!?!? focus non va!
--
Licantrop0 / HackZ XtremE Crew since 2001
Mail: 
Lican...@hackzxtreme.cjb.net
Main Site: 
www.hackzxtreme.cjb.net

 casella di testo... qual'è la funzione?!?!? focus non va!
Prova con TextBox1.SetFocus
Bye, G.

del form č grigia...)
Intanto e' bene specificare che stai operando su un progetto vb6
aggiornato a .net, con tutti i potenziali casini.
A questo punto sospetto che tu non ce la dica tutta,
perche' ho appena provato e, isolata dal contesto, a me funziona.
Occorre qualche altra informazione ...
-- 
ciao, hal

 Bye, G.
ciao,


 ciao, hal
Licantrop0 / HackZ XtremE Crew since 2001
Mail: 
Lican...@hackzxtreme.cjb.net
Main Site: 
www.hackzxtreme.cjb.net
ps: hai poi visto l'email che ti ho mandato per il
resize dei form?

 te la darň prima possibile! :)
dunque... ecco qui:
il problema sta che se richiami l'evento focus
nella sub Form_load, non funziona!
mentre se lo richiami quando pigi un bottone,
allora va.
ecco il codice:
------------------------------------------------------------
Public Class prova
Inherits System.Windows.Forms.Form
#Region " Codice generato da Progettazione Windows Form "
Public Sub New()
MyBase.New()
'Chiamata richiesta da Progettazione Windows Form.
InitializeComponent()
'Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a
InitializeComponent()
End Sub
'Form esegue l'override del metodo Dispose per pulire l'elenco dei
componenti.
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Richiesto da Progettazione Windows Form
Private components As System.ComponentModel.IContainer
'NOTA: la procedura che segue č richiesta da Progettazione Windows Form.
'Puň essere modificata in Progettazione Windows Form.
'Non modificarla nell'editor del codice.
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents TextBox2 As System.Windows.Forms.TextBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.Button1 = New System.Windows.Forms.Button()
Me.TextBox1 = New System.Windows.Forms.TextBox()
Me.TextBox2 = New System.Windows.Forms.TextBox()
Me.SuspendLayout()
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(16, 72)
Me.Button1.Name
 = "Button1"
Me.Button1.Size = New System.Drawing.Size(96, 24)
Me.Button1.TabIndex = 0
Me.Button1.Text = "Button1"
'
'TextBox1
'
Me.TextBox1.Location = New System.Drawing.Point(8, 8)
Me.TextBox1.Name
 = "TextBox1"
Me.TextBox1.Size = New System.Drawing.Size(112, 20)
Me.TextBox1.TabIndex = 1
Me.TextBox1.Text = ""
'
'TextBox2
'
Me.TextBox2.Location = New System.Drawing.Point(8, 40)
Me.TextBox2.Name
 = "TextBox2"
Me.TextBox2.Size = New System.Drawing.Size(112, 20)
Me.TextBox2.TabIndex = 2
Me.TextBox2.Text = ""
'
'prova
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(128, 110)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.TextBox2,
Me.TextBox1, Me.Button1})
Me.Name = "prova"
Me.Text = "prova"
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
TextBox2.Focus()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox1.Focus()
End Sub
End Class
-------------------------------------------------------------------------
qualcuno mi spiega perchč?
ciao,


resize dei form?
ooops, mi sa che e' stata tranciata dai filtri antispam :-(
Eventualmente, accoda la risposta al thread originario.
-- 
ciao, hal

 ciao, hal
--


dunque ho capito il perchè, ma non ho
trovato una soluzione...
steppando passo passo, si vede che lui
esegue l'istruzione di focus, PRIMA che
il form venga visualizzato... è come se
nel 
VB.NET
 la funzione di Load, corrisponda
a quella di Inizialize del VB6...
mah...
qualche idea?
--


System.EventArgs) Handles MyBase.Load
Modificalo cosi':
Private Sub Form1_Load(ByVal sender As System.Object, _
		ByVal e As System.EventArgs) _
		Handles MyBase.Activated
			^^^^^^^^^^^^^^^^^
-- 
ciao, hal

 a quella di Inizialize del VB6...
L'evento (non funzione) Load esegue solo il caricamento, non la
visualizzazione, sia in 
VB.NET
 che in VB.6/5/4/3...
E prima di essere visualizzato un form deve essere caricato.
Mentre per avere il fuoco un controllo deve essere già visibile e abilitato.
Quindi... sposta la focus() nell'Activate(), oppure forza la visualizzazione
del form con Show prima di dare fuoco a qualcosa (presumibilmente al PC :P)
Ciao

 Ciao
ciao,


 mi si avvia la routine di load...
E qui mi dovrai spiegare come fai a richiamare il form, dato che Activate
arriva dopo (per ovvi motivi) la Load :)
Ciao

 Ciao
ciauz,


 e posso anche capire il perchè, ma non so risolvere il problema!
frmAbout.definstance.focus() ?
Ciao

 Ciao
ciao,
