Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di r1cky`
    Registrato dal
    Feb 2007
    Messaggi
    431

    [C#] Panel sovrapposti e tasti avanti e indietro

    Ciao a tutti,
    Ho un forum che ha diversi panel sovrapposti che vengono messi in primo piano attraverso la pressione di alcuni bottoni.
    Vorrei creare dei tasti avanti e indietro, come quelli del browser, che permettano all'utente di spostarsi nei precedenti panel o in quelli successivi.
    Per quanto riguarda il tasto "indietro" utilizzato una struttura Stack per buttargli dentro, ogni volta che porto sul fronte un nuovo pannello il precendente. E il tutto funziona correttamente.
    Il problema è il tasto avanti.
    La classe panel non ha metodi o eventi che permettano di capire se un pannello è in primo piano, allora mi sono ingegnato facendogli una piccola modifica:


    Codice PHP:
     class NewPanel Panel
        
    {
       
            public 
    event EventHandler BringToFrontEvent null;

            public new 
    void BringToFront() {
                
    base.BringToFront();
                
    onBringToFrontEvent(new EventArgs());
            }

            protected 
    virtual void onBringToFrontEvent(EventArgs e)
            {
                
    EventHandler handler BringToFrontEvent;
                if (
    handler != null)
                    
    handler(thise);
            }
        } 
    in modo che quando un pannello venga messo in primo piano io possa gestire l'evento.
    La mia idea è stata la seguente:
    Ogni volta che un pannello viene messo in primo piano mi salvo quale'è e quando viene premuto il tasto "indietro" metto in un altra struttura Stack il pannello corrente.
    Il tutto funziona se non che seuno clicca prima su indietro e poi su avanti gli stack si svuota e non funziona più una mazza.
    Da qui si deduce che non è una soluzione troppo corretta.
    Quualcuno di voi potrebbe aiutarmi a correggerla o eventualmente ha qualche idea su come posso fare?
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    ti consiglio di usare un tabControl.. con una piccola modifica al client size si possono nascondere i tab in alto (le etichette) così da gestire il tab in primo piano con pochissimo codice.. (senza contare che creando tanti pannelli poi diventi matto)

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 © 2025 vBulletin Solutions, Inc. All rights reserved.