Smulare l'opzione rinomina di windows

martedì 07 novembre 2006 - 15.28

bule Profilo | Junior Member

Ciao a tutti come si fà a fare con c# a simulare quello che accade con windows se faccio clickdx sopra una cartella e schiaccio rinomina sul mnu che appare ? cioè appena schiaccio rinomina si evidenzia il nome della cartella con il cursore lampeggiante, scrivo il nuovo nome e poi schiaccio invio e il nome della cartella è cambiato....

grazie mille

Brainkiller Profilo | Guru

>Ciao a tutti come si fà a fare con c# a simulare quello che accade
>con windows se faccio clickdx sopra una cartella e schiaccio
>rinomina sul mnu che appare ? cioè appena schiaccio rinomina
>si evidenzia il nome della cartella con il cursore lampeggiante,
>scrivo il nuovo nome e poi schiaccio invio e il nome della cartella
>è cambiato....

Puoi spiegare dove vuoi arrivare con questa operazione ?
Dalla tua applicazione vuoi che su una certa cartella succeda questo automaticamente, senza intervento dell'utente ?

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bule Profilo | Junior Member

no scusa mi spiego un pò meglio :

ho un treeview : se clicko col tasto dx su di un nodo faccio aprire un contextmenù con la voce rinomina che mi permetta di modificare
il nome del nodo ...dopo molto penare ho vixto che c'è il comando treenode.beginEdit() e treenode.endEdit(), ben spiegati sembra, su msdn, questo mette in attesa di una modifica della label del nodo ( fa comparire il cursore lampeggiante di cui parlavo) e quando ho finito di scrivere (schiaccio enter) cambia finalmente il nome del nodo (come accadde con le cartelle di windows)..

ora però mi si presenta un problema collegato: vorrei che se clickko sulla regione dove c'è il treeView si aprà un'altro contextMenu un pò come quello che accade se apro una cartella in windows, se schiaccio sopra un'altra cartella si apre il contextmenù che mi permette di rinominarne il nome menttre se clicco dove non c'è nulla mi si apre il context menù che mi permette di aggiungere una nuova cartella o un collegamnto...

la mia domanda è come faccio a capire se il mouse è dentro una determinata regione di un form?

spero sia chiaro ma mi rendo conto che è un pò incasinata la spiegazione...

bule Profilo | Junior Member

penso di aver risolto...c'è l'evento mousedown che si attiva se click quando entro nella regione dove c'è il treeview ...
adesso provo

Brainkiller Profilo | Guru

>penso di aver risolto...c'è l'evento mousedown che si attiva
>se click quando entro nella regione dove c'è il treeview ...

Beh si per il mouse ci sono numerosi eventi.
Quello più utilizzato in questo caso è il MouseMove. Quando il mouse è in movimento e il puntatore entra nello spazio occupato dal controllo automaticamente scatta il MouseMove. Ma ci sono anche eventi più specifici MouseHover, MouseEnter, MouseLeave, ecc.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

bule Profilo | Junior Member

ciao e grazie per l'attenzione..
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5