Quale form ne chiama un'altra?

lunedì 05 maggio 2008 - 12.17

TaiChi Profilo | Junior Member

Salve a tutti,

nella mia applicazione ho un form di Splash che visualizzo all'avvio così:

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
frmSplash Splash = new frmSplash();
Splash.ShowDialog();
Application.Run(new frmAvvio());
}

vorrei che servisse anche come form che visualizza i credits e, solo in
quest'ultimo caso, dovrebbe visualizzare un panel con le informazioni del
caso ma come faccio a sapere chi l'ha chiamata e, di conseguenza a
visualizzare il panel con i credits oppure no?

Alessio Forconi

aiedail92 Profilo | Expert

Ciao

Potresti definire nel tuo SplashForm un metodo ShowDialog che accetta un parametro bool, mediante il quale decidi se rendere visibile o meno il panel dei crediti:

class SplashForm : Form { //... public DialogResult ShowDialog(bool showCredits) { creditPanel.Visible = showCredits; return ShowDialog(); } }

In alternativa esiste la proprietà OwnerForm che stabilisce quale sia il proprietario del Form, pertanto ti basta controllarla per fare la verifica.

Luca

TaiChi Profilo | Junior Member

>Ciao
>
>Potresti definire nel tuo SplashForm un metodo ShowDialog che
>accetta un parametro bool, mediante il quale decidi se rendere
>visibile o meno il panel dei crediti:
>
>class SplashForm : Form
>{
>
> //...
>
> public DialogResult ShowDialog(bool showCredits)
> {
> Panel creditPanel;
> creditPanel.Visible = showCredits;
> return ShowDialog();
> }
>}
>
>In alternativa esiste la proprietà OwnerForm che stabilisce quale
>sia il proprietario del Form, pertanto ti basta controllarla
>per fare la verifica.
>
>Luca
Grazie Luca,

poco dopo aver postato mi è venuto in mente che potrei semplicemente creare una proprietà bool chiamata IsSplash (ammazza che fantasia... ) e settarla al'uopo.

Potrebbe andare dal punto di vista dell'OOP?

Alessio Forconi

aiedail92 Profilo | Expert

Sì, come soluzione va benissimo, e per quanto riguarda la Programmazione Orientata agli Oggetti non ha nulla che ne "violi" le regole...

Luca
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