Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show dialog on first start of application

Is there an easy way to show an dialog when the program is started for the first time (and only the first time), for some kind of instruction or specifying settings?

like image 526
joko Avatar asked Dec 28 '13 20:12

joko


2 Answers

You could save it as a bool in your settings and you should check at load event of first form. Your settings file should have a setting that I called "FirstRun" do this with following steps:

  1. Right click your Project
  2. Click "Properties"
  3. Click "Settings" tabpage(probably on the left)
  4. Add setting like I did as seen in image above

Note: The Scope can be changed to "Application", if that is your application's need, since you didn't mention in your question.

Your Settings file should look like image below:

SettingsFile

public void Form1_Load(object sender, EventArgs e)
{
    if((bool)Properties.Settings.Default["FirstRun"] == true) 
    {
       //First application run
       //Update setting
       Properties.Settings.Default["FirstRun"] = false;
       //Save setting
       Properties.Settings.Default.Save();
       //Create new instance of Dialog you want to show
       FirstDialogForm fdf = new FirstDialogForm();
       //Show the dialog
       fdf.ShowDialog();
    }
    else
    {
       //Not first time of running application.
    }
}

Note: wrote this from my phone, so I couldn't compile to test
Edit: Checked code and added image from desktop.

like image 113
Max Avatar answered Sep 24 '22 16:09

Max


You can have bool value in your settings file which is a "user setting" which means you can change it to true save it for this specific user. When your application starts just check that value. If it's false show your dialog and change it to true and it will stay true.

public void Form_Load(object sender, EventArgs e)
{
    if(Settings.Default.ShowDialog) 
    {
       Settings.Default.ShowDialog = false;
       Settings.Default.Save();
       // show first disalog
    }
    // rest of code if needed
}

Here's an MSDN link on user settings: http://msdn.microsoft.com/en-us/library/bb397750(v=vs.110).aspx

like image 27
i3arnon Avatar answered Sep 21 '22 16:09

i3arnon