none
Tab control con controlli all'interno RRS feed

  • Domanda

  • Buongiorno a tutti,
    ho una domanda per un'applicazione che sto sviluppando da neofita.

    Nel form che ho implementato è presente un controllo TabControl con diverse pagine. Ognuna di questa pagine a sua volta ha sul interno un controllo TabControl (quindi schede contenenti differenti schede). Sia le pagine del tabcontrol esterno che quelle interne sono generate a livello di programma andando a screivere i dati letti da un fonte remota

    Quello che vorrei è implementare il controllo dell'evento di cambio pagina sul TabControl più interno, ma non so come aggiungerlo a livello di programmazione.

    Altra domanda è come posso recuperare quale pagine è visualizzata nel tabcontrol interno qualora nel tabcontrol esterno si cambia pagina.

    Grazie mille

    giovedì 9 giugno 2022 13:20

Risposte

  • Adesso mi pare che ho capito. Grazie. 

    Aggiungi un tale evento al tabControl quando form_load:

    tabControl1.Selecting += new TabControlCancelEventHandler(tabControl1_Selecting); void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) { TabPage current = (sender as TabControl).SelectedTab; // Validate the current page. To cancel the select, use: e.Cancel = true;

    }

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    martedì 14 giugno 2022 12:54
    Moderatore
  • D'altra parte, in .NET 4 c'è l'evento Deselecting che si attiva al momento giusto:

      private void tab_Deselecting(object sender, TabControlCancelEventArgs e)
        {
        }


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    martedì 14 giugno 2022 12:55
    Moderatore

Tutte le risposte

  • Buonasera, Lomba,

    Premetto che dalla seconda domanda, non ho capito bene cosa intendi (nel senso grammatico e nel senso logico):
    "Altra domanda è come posso recuperare quale pagine è visualizzata nel tabcontrol interno qualora nel tabcontrol esterno si cambia pagina."

    Per quanto riguarda la prima domanda, vediamo se le basi aiuterebbero o meno. Vedi questo LINK

    Fammi sapere se con questo riesci. 


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.


    giovedì 9 giugno 2022 14:53
    Moderatore
  • Buongiorno, Lomba, 
    Hai avuto la possibilità di controllare se il detto precedente aiuta?

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    lunedì 13 giugno 2022 07:34
    Moderatore
  • Buongiorno,

    innanzitutto grazie del consiglio e chiedo scusa per il ritardo nella risposta.

    Non ho ancora avuto modo di testare il suggerimento causa priorità lavorative, appena ho modo testerò molto volentieri quanto suggerito.

    Per quanto riguarda la seconda domanda proverò a spiegarmi meglio. Nell'applicazione esiste un tabcontrol (che chiameremo esterno) in cui in ogni tabpage contenuta esiste un altro tabcontrol (che chiameremo interno).
    La mia difficoltà sta nel fatto che quando nel tabcontrol esterno cambio pagina (evento tabChange se non erro) ho la necessità di ottenere il tabcontrol interno della pagina del tabcontrol esterno attiva per poter capire quale pagine del tabControl interno sia attiva...

    Spero di aver  chiarito meglio la mia esigenza

    lunedì 13 giugno 2022 10:59
  • Adesso mi pare che ho capito. Grazie. 

    Aggiungi un tale evento al tabControl quando form_load:

    tabControl1.Selecting += new TabControlCancelEventHandler(tabControl1_Selecting); void tabControl1_Selecting(object sender, TabControlCancelEventArgs e) { TabPage current = (sender as TabControl).SelectedTab; // Validate the current page. To cancel the select, use: e.Cancel = true;

    }

    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    martedì 14 giugno 2022 12:54
    Moderatore
  • D'altra parte, in .NET 4 c'è l'evento Deselecting che si attiva al momento giusto:

      private void tab_Deselecting(object sender, TabControlCancelEventArgs e)
        {
        }


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    martedì 14 giugno 2022 12:55
    Moderatore
  • Salve, Lomba,

    Mi scuso per il disturbo, ma i consigli, hanno aiutato? 


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    mercoledì 15 giugno 2022 16:15
    Moderatore
  • Grazie mille dell'aiuto.
    Finalmente ho avuto modo di provare i tuoi preziosi consigli, ma ho delle difficoltà legate alla mia ignoranza.
    Ho problemi che non riesco a psotare in quanto il forum mi ha dei problemi con l'allegazione del codice..

    Vi sono alternative per illustrare i miei nuovi dubbi o problemi?

    lunedì 27 giugno 2022 11:33
  • Salve, Lomba, 

    Per domande diverse di quella qui, chiederei di aprire un nuovo post.

    Per quanto riguarda la difficoltà di postare codice, sappiamo del fatto ed i colleghi stanno lavorando sul problema. Se non ti dispiace, potresti postare l'errore che ricevi?


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    lunedì 27 giugno 2022 11:55
    Moderatore
  • Grazie ancora per l'aiuto dato.

    Ieri nella fretta di testare (finalmente) i vostri suggerimenti non ho notato di usare un miscuglio errato di metodi static e non.

    Attualmente credo di avere tutti gli elementi per proseguire.

    Grazie mille dell'aiuto

    martedì 28 giugno 2022 10:55