【发布时间】:2014-01-16 03:11:19
【问题描述】:
是否有一种简单的方法可以在程序第一次(并且仅是第一次)启动时显示一个对话框,用于某种指令或指定设置?
【问题讨论】:
-
Winforms?网络表格? MV? wpf?
标签: c# .net winforms dialog messagebox
是否有一种简单的方法可以在程序第一次(并且仅是第一次)启动时显示一个对话框,用于某种指令或指定设置?
【问题讨论】:
标签: c# .net winforms dialog messagebox
您可以在设置文件中使用 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
【讨论】:
好的,所以我假设您正在创建 WinForms 应用程序。首先,在主窗体事件列表中找到 Load 事件(或者只需在设计器面板中双击窗体)。将弹出以下方法存根:
public void Form1_Load(object sender, EventArgs e)
{
}
并像这样修改它:
public void Form1_Load(object sender, EventArgs e)
{
MessageBox.Show("Your message here");
}
【讨论】:
您可以在设置中将其保存为布尔值,并且您应该在第一个表单的加载事件中进行检查。 您的设置文件应该有一个我称为“FirstRun”的设置,请按照以下步骤操作:
注意: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.
}
}
注意:这是用我的手机写的,所以我无法编译测试
编辑:检查代码并从桌面添加图像。
【讨论】: