我有一個SplashScreen
,MainForm
。在加載表單內容時顯示一個閃屏
在我的MainForm_Load
我有一個名爲Connect();
的方法。這種方法驗證了我的RFID設備與串口的連接,它需要幾秒鐘才能完成。
雖然它經歷了Connect()
方法,但我想顯示我的SplashScreen
。我嘗試這樣做:
private void Main_Load(object sender, EventArgs e)
{
Frm_Splash s = new Frm_Splash();
s.Show();
Connect();
}
Connect();
的方法,示出了使用MessageBox
的消息。 但是當SplashScreen
結束時,它會自行封閉並關閉MessageBox。
這裏是我的SplashScreen
表單代碼:
private void timer1_Tick(object sender, EventArgs e)
{
if (pbLoad.Value < 100)
{
pbLoad.Value = pbLoad.Value + 1;
}
else
{
timer1.Enabled = false;
this.Close();
}
}
我知道它有什麼做的this.Close();
。我只是不知道如何解決它。
也許如果我使用this.Visible = false
,但然後SplashScreen
不會關閉,它仍然會處理,只是將隱身......我認爲有一個更好的選擇。
似乎還有更多。如果'SplashScreen'是它自己的形式,那麼關閉它就無法關閉從另一個表單生成的'MessageBox'。 – DonBoitnott
@DonBoitnott我試過'this.visible = false'而不是'this.Close()'並且工作。但我知道SplashScreen仍然處理它只是無形。你有什麼建議嗎? – Ghaleon
它實際上是關閉消息框還是將其拖動到背景上?你可以嘗試最小化一些東西,或者使用tab來查看消息框是否仍然存在但隱藏? – BlargleMonster