【问题标题】:Show dialog on first start of application首次启动应用程序时显示对话框
【发布时间】:2014-01-16 03:11:19
【问题描述】:

是否有一种简单的方法可以在程序第一次(并且仅是第一次)启动时显示一个对话框,用于某种指令或指定设置?

【问题讨论】:

  • Winforms?网络表格? MV? wpf?

标签: c# .net winforms dialog messagebox


【解决方案1】:

您可以在设置文件中使用 bool 值,这是一个“用户设置”,这意味着您可以将其更改为 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
}

这是有关用户设置的 MSDN 链接: http://msdn.microsoft.com/en-us/library/bb397750(v=vs.110).aspx

【讨论】:

    【解决方案2】:

    好的,所以我假设您正在创建 WinForms 应用程序。首先,在主窗体事件列表中找到 Load 事件(或者只需在设计器面板中双击窗体)。将弹出以下方法存根:

    public void Form1_Load(object sender, EventArgs e)
    {
    
    }
    

    并像这样修改它:

    public void Form1_Load(object sender, EventArgs e)
    {
        MessageBox.Show("Your message here");
    }
    

    【讨论】:

    • 我认为他的意思是应用程序的第一次运行。
    • 这只是应用程序的第一次使用?
    • 我的错误,这是您运行应用程序时发生的第一件事。但是,如果您希望它仅在用户第一次在新机器上启动它时发生,请按照 Max Mommersteeg 的回答
    【解决方案3】:

    您可以在设置中将其保存为布尔值,并且您应该在第一个表单的加载事件中进行检查。 您的设置文件应该有一个我称为“FirstRun”的设置,请按照以下步骤操作:

    1. 右键单击您的项目
    2. 点击“属性”
    3. 点击“设置”标签页(可能在左侧)
    4. 如上图所示添加设置

    注意:Scope 可以更改为“应用程序”,如果这是您的应用程序的需要,因为您没有在问题中提及。

    您的设置文件应如下图所示:

    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.
        }
    }
    

    注意:这是用我的手机写的,所以我无法编译测试
    编辑:检查代码并从桌面添加图像。

    【讨论】:

    • 好的,我添加了 bool,但 if 语句显示错误 '== 不能应用于对象和 bool 类型的操作数' 我猜应该是 fdf.ShowDialog()
    • 更新了问题,在 if 语句中添加了演员表,谢谢我是用手机打字哈哈,也将 fd 更正为 fdf :)
    • showdialog() 方法未找到我需要 using 指令还是...?
    • 您是否在项目中添加了一个名为“FirstDialogForm”的表单?它需要写成'ShowDialg();' (区分大小写)
    • 你需要一个表单(对话框)来显示,所以如果你还没有,添加它,右键单击项目 -> 添加 -> 新项目... -> Windows 窗体,然后将其命名为 FirstDialogForm
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多