我不明白爲什麼它不會在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擊中會讓我想用生鏽的叉子撕裂我的眼睛。當然,必須有一個更溫和/更好的方式來提示用戶?一個彩色的標籤,也許? –