【发布时间】:2019-05-14 18:53:03
【问题描述】:
我的程序根据程序是否第一次运行来设置它的显示。为了确定程序是否是第一次运行,我目前正在使用一个
//this boolean exists within my programs settings
Setting boolean FirstRun = True;
当程序运行时,它会调用一个方法来检查该布尔值的状态并采取相应的行动:
if(Properties.Settings.FirstRun == true)
{ lblGreetings.Text = "Welcome New User";
//Change the value since the program has run once now
Properties.Settings.FirstRun = false;
Properties.Settings.Save(); }
else
{ lblGreetings.Text = "Welcome Back User"; }
它似乎工作得非常有效,但是如果 .exe 文件被移动并从一个新位置启动它认为它是第一次运行,我担心我正在以一种混乱的方式这样做,也许存在一种更有效的方式来测试程序的首次运行。有没有更好的方法来做到这一点?
【问题讨论】:
-
如果您详细了解您需要了解的原因,您可能会得到更好的答案。例如,如果您需要在第一次运行时向用户询问一些问题并且您存储了这些答案,那么问题将减少到将这些答案存储在哪里。另外,“第一次”是模棱两可的——这个用户第一次?第一次上这台机器?你提供的细节越多,你得到的答案就越好。
-
您为什么希望用户移动您的应用程序?
-
@svick:这可能不是期望,而是经验。
-
程序没有安装,它从它的 .exe 文件在本地运行。因此,如果他们下载程序并运行它,然后他们决定希望程序驻留在它认为是第一次运行的其他地方。这不是一个大问题,但我希望代码尽可能干净,所以我想也许有比我现在的方式更有效的方法。 @Tigran:你是对的,尽管如前所述,如果他们移动程序并不是什么大问题。