Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [C#.Net] Context Menu

  1. #1

    [C#.Net] Context Menu

    Ciao,
    sto imparando un po di C#.Net e sto usando un treeview per mostrare la struttura di cartelle. Ora vorrei aggiungere un contaxt menu al click del tasto destro. Ho pensato di prendere un menu e metterlo su un panel e quindi nascondere e mostrare il panel. Ci sono due problemi: come intercetto in C# il click del tasto destro? Immagino di dover ricorrere a Javascript. Problema 2: come posiziono il panel al posto giusto?
    Sono sicuro che la soluzione sia di cambiare ...ehm..soluzione
    Voi sapete come implementare un context menu?
    Grazie mille
    -------------------------
    CENTROCANOA.COM

  2. #2

  3. #3
    bhe...cosi' lo sapevo fare .. siccome sono abbastanza nuovo di C#.Net pensavo ci fosse un modo un po' piu'.. "professionale" di risolverlo senza momentaneamente abbandonare il framework. Per esempio...dove piazzo il "onClick" event nella mia pagina siccome non ho html???? ecco...cose di questo tipo sono il mio problema...
    cmq...grazie mille
    -------------------------
    CENTROCANOA.COM

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    scusa, ma sbaglio o l'intercettazione dei tasti del mouse è esclusiva pertinenza di javascript? , specialmente per quanto riguarda il tasto destro? :master:
    Pietro

  5. #5
    hai perfettamente ragione. Quello che non so e' come faccio ad aggiungere al rendering del treeview l'azione da intraprendere quando si fa right click sul nodo. In pratica dove vado a mettere il oncontextmenu="javascript....."....
    Poi il resto lo fa comunque javascript.....
    -------------------------
    CENTROCANOA.COM

  6. #6
    Originariamente inviato da nice
    hai perfettamente ragione. Quello che non so e' come faccio ad aggiungere al rendering del treeview l'azione da intraprendere quando si fa right click sul nodo. In pratica dove vado a mettere il oncontextmenu="javascript....."....
    Poi il resto lo fa comunque javascript.....
    se vuoi aggiungere javascript ad un controllo, puoi utilizzare la proprietà Attributes
    esempio
    codice:
    treeview.Attributes["onclick"] = "function(){/*gestisci il click*/}";

  7. #7
    capisco...immagino di poter sattere Attributes a livello di nodo cosi' da trattarli individualmente....
    il corpo del javascript (<script>...</script>) invece, posso scriverlo direttamente nel code behind????
    -------------------------
    CENTROCANOA.COM

  8. #8
    Originariamente inviato da nice
    capisco...immagino di poter sattere Attributes a livello di nodo cosi' da trattarli individualmente....
    il corpo del javascript (<script>...</script>) invece, posso scriverlo direttamente nel code behind????
    si, anche se esistono alcune funzioni come
    ClientScriptManager.registerStartupScript,
    dai un occhiata alla documentazione di ClientScriptManager,
    io comunque utilizzo sempre il javascript nella pagina aspx e setto gli eventi usando il dom,
    attento che se per esempio hai associato un evento al click del mouse, questo genera dietro le quinte del javascript, quindi aggiungendo il javascript a mano, potresti sovrascrivere l'evento

    per esempio se aggiungi onload potresti sovrascrivere del codice scritto dal framework,
    quindi utilizza sempre funzioni tipo addOnLoad, per evitare queste situazioni

    esempio:
    codice:
    function addOnLoad(f){
     var vecchia = window.onload;
     window.onload=function(){if(vecchia)vecchia();f();};
    }
    addOnLoad(function(){alert('non sovrascriverò nessun evento :fagiano:')});

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.