我不明白为什么它不会在Form_Load中工作。绝对可以像别人指出的那样,通过将它放在表单初始化之下来进行操作。
虽然,因为你只是显示一个消息框,我不认为有任何理由来存储结果,所以一个简单的MessageBox.Show(message);
应该做的伎俩。
作为@ s.m。从用户体验的角度来看,一旦应用程序启动,就会立即发出通知,这会非常令人讨厌,至少如果每次都有它的话。就个人而言,我会创建一个布尔值设置变量,在第一次显示消息时将其设置为true,并且只在设置为false时(即第一次显示消息时)才显示它。
private boolean splashShown = Properties.Settings.Default.splashShown;
private void Form_Load(object sender, EventArgs e)
{
if (!splashShown)
{
MessageBox.Show("message");
myForm.Properties.Settings.Default.splashShown = true;
myForm.Properties.Settings.Default.Save();
}
}
并设置splashShown
设置您的表单属性。
如果问题是,你的Form_Load()
方法实际上并没有连接到您的Form.Load()
事件,你可以双击在设计表单窗口,它会自动创建Form_Load()
基方法为你和它连接到Form.Load()
事件
是,肯定是有办法,你应该做一个谷歌搜索上 [Form.DialogResult地产(https://msdn.microsoft.com/en-us/library/system.windows .forms.form.dialogresult%28v = vs.110%29.aspx)也阅读了WinForms事件生命周期方面的表单加载显示等等...这里是你需要阅读@MorganPeters [Windows窗体中的事件顺序](https://msdn.microsoft.com/en-us/library/86faxx0d%28v=vs.110%29.aspx) – MethodMan
尝试使用'Shown'事件而不是'Load '。 –
从UX观点来看,我只有2分钱:在我有机会做任何事情之前马上被MessageBox击中会让我想用生锈的叉子撕裂我的眼睛。当然,必须有一个更温和/更好的方式来提示用户?一个彩色的标签,也许? –