Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
[vb2005] controllo con lo stato attivo
Ultimo Post 18 feb 2009 13.28 by Hidden. 5 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Risolto

Posts:663

--
18 feb 2009 11.55  

Salve a tutti ragazzi, scusatemi per l'oggetto ma non sapevo proprio come riassumere il mio problema.
ho una form con tante textbox alle quali ho abbinato un contextmenu.

Ora il mio problema è il seguente quando faccio click con il tasto destro del mouse su una textbox vorrei ottenere o il nome della textbox o l'indice di identificazione del controllo all'interno della form.
Come potrei fare?
da dove dovrei cominciare?

Vi ringrazio per il vostro aiuto!


Posts:96

--
18 feb 2009 12.21  

tutti  i controlli possiedono una property Focused che è true quando il controllo ha il focus, puoi usare quella property facendo un ciclo sui controlli per trovare quello che ha il focus.
Oppure, più semplicemente puoi fare un singolo event handler sull'evento  Enter dei controlli della form che quando eseguito scrive su una variabile a livello di form il nome del sender che ha appena ricevuto il focus.

		private string _FocusedControlName;

		///
		/// 
		///
		void Control_Enter(object sender, EventArgs e)
		{
			try
			{

				Control ctl = sender as Control;
				if (ctl != null)
				{
					_FocusedControlName = ctl.Name;
				}
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		}
Saluti
Sabrina
Inserito da Hidden su 18 feb 2009 12.55

Salve a tutti ragazzi, scusatemi per l'oggetto ma non sapevo proprio come riassumere il mio problema.
ho una form con tante textbox alle quali ho abbinato un contextmenu.

Ora il mio problema è il seguente quando faccio click con il tasto destro del mouse su una textbox vorrei ottenere o il nome della textbox o l'indice di identificazione del controllo all'interno della form.
Come potrei fare?
da dove dovrei cominciare?

Vi ringrazio per il vostro aiuto!




Posts:663

--
18 feb 2009 12.50  
Ok ti ringrazio ma forse non mi sono espresso del tutto correttamente.
Quando io faccio click con il tasto destro del mouse per aprie il contextmenu comunque lo stato attivo non si sposta.
es:
Ho lo stato attivo sulla textbox1 faccio click con il pulsante destro del mouse sulla textbox2 lo stato attivo rimane sulla textbox1 perchè in realtà io ho semplicemente fatto click con il tasto destro del mouse e aperto il context menu e in questo modo non ho spostato lo stato attivo su textbox2 per spostare lo stato attivo su textbox2 devo prima fare click col tasto sinistro. Ma come posso evitare di dover fare quest'ultima operazione (cioè fare prima click col tasto sinistro)?

Grazie!


Posts:96

--
18 feb 2009 13.09  

In questo caso oserei dire che devi fare un po' di lavoro di tipo preparatorio ovvero sul mousedown verificare le coordinate del mouse e cercare qual'è il controllo + prossimo assegnandogli il focus
non so se esiste qualche metodo che ritorni il controllo su cui si trova il mouse in un determinato momento.
prova e facci sapere se risolvi.

Inserito da Hidden su 18 feb 2009 13.50
Ok ti ringrazio ma forse non mi sono espresso del tutto correttamente.
Quando io faccio click con il tasto destro del mouse per aprie il contextmenu comunque lo stato attivo non si sposta.
es:
Ho lo stato attivo sulla textbox1 faccio click con il pulsante destro del mouse sulla textbox2 lo stato attivo rimane sulla textbox1 perchè in realtà io ho semplicemente fatto click con il tasto destro del mouse e aperto il context menu e in questo modo non ho spostato lo stato attivo su textbox2 per spostare lo stato attivo su textbox2 devo prima fare click col tasto sinistro. Ma come posso evitare di dover fare quest'ultima operazione (cioè fare prima click col tasto sinistro)?

Grazie!




Posts:663

--
18 feb 2009 13.25  
Penso di aver trovato la mia soluzione gestendo l'evento MouseEnter

Private Sub TextBox4_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.MouseEnter, TextBox1.MouseEnter ,TextBox2 .MouseEnter ,TextBox3 .MouseEnter
dim nome as String
nome = ctype(ctype (sender,TextBox ).Name ,String)
msgbox (nome)
End Sub

In questo modo appena mi il muose si trova sopra il controllo posso ottenerne il nome.

Comuque grazie Sabrina per il tuo suggerimento è stato determinante ai fini della solluzione.

Posts:663

--
18 feb 2009 13.28  
A proposito scusatemi la mancanza nel caso volgiate applicarlo piu generalmente a controlli misti potete modificare il codice come segue

Private Sub TextBox4_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox4.MouseEnter, TextBox1.MouseEnter ,TextBox2 .MouseEnter ,TextBox3 .MouseEnter, Button1.MouseEnter, CheckBox1.MouseEnter, ListView1.MouseEnter
dim nome as String
nome = ctype(Sender.Name ,String)
msgbox (nome)
End Sub

Grazie
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Codedom Introduzione all'uso parte3
La classe Helper per le funzionalità CodeDom
2009/11/07 | Autore: Sabna Cosolo
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Autore: Sabrina Cosolo
ADO.Net Nozioni di base (parte 1)
Una libreria helper base per usare comandi diretti in SQL Server
2008/03/09 | Autore: Sabrina Cosolo
Miniguida alla OOP con il .NET Framework- Parte I
Come prendere per mano un tipico programmatore VB6
2008/07/27 | Autore: Alberto De Luca
Installer Utility - Utilizzare le Azioni Personalizzate
Come creare automaticamente il DataBase durante il processo di installazione
2007/08/14 | Autore: Alberto De luca
Formattare le Datagridview
Come modificare il comportamento visuale di una Datagridview
2008/07/27 | Autore: Andrea Zingoni
Assembly Strong Named
Firma digitale degli Assembly, uso e funzionalità
2007/08/05 | Autore: Sabrina Cosolo
Codedom Introduzione all'uso parte2
Costruire il generatore di codice
2009/11/07 | Autore: Sabrna Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.