Hét vraag- en antwoordplatform van Nederland

Hoe maak ik een splashscreen met knoppen in c#?

Ik maak een programma in c# .net, het is een collectie van verschillende programma's en ik wil er een opstart scherm voor. ik heb al een design met buttons en alles. nu wil ik graag weten hoe ik krijg dat eerst dat scherm start en als je dan op een knop klikt dat het programma zich sluit en het ander opent. Hoe doe ik dit?

Verwijderde gebruiker
9 jaar geleden
1.1K
Verwijderde gebruiker
9 jaar geleden
Er zijn betere bronnen dan GV om dit soort vragen te posten... is nogal specifiek...
Verwijderde gebruiker
9 jaar geleden
Vergat nog de URL: http://www.codeproject.com/Articles/5454/A-Pretty-Good-Splash-Screen-in-C

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (1)

Er vanuitgaande dat je een WinForms applicatie maakt, is het vrij eenvoudig te bouwen. Elk scherm is een form, zo ook het startscherm. In je program.cs zie je de volgende code:

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}

Je ziet dat Form1 wordt gestart en als die wordt gesloten is je applicatie klaar. Als je nu een SplashForm maakt, waarin het volgende Form (van de keuze van de gebruiker) wordt klaargezet in een property "TargetForm", kun je deze als volgt starten, nadat het splashform is gesloten:

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
var splash = new SplashForm();
Application.Run(splash);

if (splash.TargetForm != null)
{
Application.Run(splash.TargetForm);
}
}

In je splashform zet je bv. twee knoppen die FormA of FormB aanmaken:

public Form TargetForm = null;

private void button1_Click(object sender, EventArgs e)
{
TargetForm = new FormA();
Close();
}

private void button2_Click(object sender, EventArgs e)
{
TargetForm = new FormB();
Close();
}

Ik hoop dat dit is wat je bedoelt. Een normaal splash screen verdwijnt automatisch als de applicatie geladen is, maar dat is denk ik niet wat je zoekt toch?
(Lees meer...)
Verwijderde gebruiker
9 jaar geleden
rose
9 jaar geleden
Mooi helder antwoord!

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding