我有我的第一个表格,它采用文件夹路径并将该值保存在用户属性中并打开第二个表格。我只想在安装后第一次运行第一次表单并保存该值,然后再不想运行该表单。之后,我只希望运行第二个表单。
这是我的第一个表格的代码。
private void button1_Click(object sender, EventArgs e)
{
folderBrowserDialog1.ShowDialog();
string Source = folderBrowserDialog1.SelectedPath.ToString();
Properties.Settings.Default.path = Source;
Properties.Settings.Default.Save();
Form1 f = new Form1();
f.Show();
}
答案 0 :(得分:1)
if(string.IsNullOrWhiteSpace(Properties.Settings.Default.path))
{
folderBrowserDialog1.ShowDialog();
string Source = folderBrowserDialog1.SelectedPath.ToString();
Properties.Settings.Default.path = Source;
Properties.Settings.Default.Save();
}
Form1 f = new Form1();
f.Show();
答案 1 :(得分:1)
我尝试了一下,就奏效了。
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Properties.Settings.Default.Reset();
if(Properties.Settings.Default.path == "" )
{
Application.Run(new FolderSetting());
}
else
{
Application.Run(new Form1());
}
}
}
谢谢。
答案 2 :(得分:0)
您可以为您的应用使用注册表项,以确保第一次表单仅显示一次。在应用程序启动时,创建密钥(如果不存在)。在第一次打开表格时设置键值。在每个按钮上,单击打开基于键值设置的其他表单。
通过在注册表中设置注册表项,如果用户愿意,还可以在应用程序中进行配置以重置该值。
RegistryKey key = Registry.LocalMachine.OpenSubKey("Software",true);
key.CreateSubKey("YourAppName");
key = key.OpenSubKey("YourAppName", true);
key.CreateSubKey("FirstTimeFlag");
key = key.OpenSubKey("FirstTimeFlag", true);
// set the key first time
key.SetValue("FirstTimeFlag", "true");
// get Value of key (probably assign this to App Constant)
var isFirstTimeLogin = (bool)key.GetValue("FirstTimeFlag");
答案 3 :(得分:0)
在program.cs中编写代码,而不是单击按钮。您应该确定该路径的值是否仅为空白,然后打开文件夹浏览器对话框以选择路径,否则直接运行第二个表单。您的代码应如下所示:
if (Properties.Settings.Default.path.trim() == "")
{
folderBrowserDialog1.ShowDialog();
string Source = folderBrowserDialog1.SelectedPath.ToString();
Properties.Settings.Default.path = Source;
Properties.Settings.Default.Save();
}
Form1 f = new Form1();
f.Show();
希望它能解决您的问题。