Winform跳轉不"閃現"
阿新 • • 發佈:2018-05-14
後臺 pen lse hide led catch 就是 span tick
第一次寫博客,所以寫的不好還請大家多多見諒!
因為公司做的是C/S項目,客戶端是winform窗體,後臺是JAVA做的。然後最近開發遇到了一些問題:窗體跳轉的時候出現“閃現”(假如在桌面運行,跳轉時會先顯示桌面再顯示下一個窗體),大致思路就是在跳轉後的窗體裏把跳轉前的窗體關閉,而不是在跳轉前窗體中寫Form2.Show();this.Close(); 還是一邊貼代碼一遍描述吧,這樣更直觀一點
- 首先在第一個窗體裏實例化第二個窗體:
Form1 form1 = new form1();
form1.Show();
註:在這裏先不關閉此窗體
- 然後在第二個窗體中關閉第一個窗體
在Load事件中創建一個定時器,定時關閉第一個窗體:
private Timer timer2; private void Form2_Load(object sender, EventArgs e) { try { timer2 = new Timer(); timer2.Interval = 2000; timer2.Enabled = true; timer2.Tick += Timer2_Tick; }catch (Exception ex) { // } } private void Timer2_Tick(object sender, EventArgs e) {
if(timer2!=null)
{
timer2.Enabled = false;
timer2.Dispose();
} this.Invoke(new MethodInvoker(delegate { foreach (var item in Application.OpenForm) {if(item is Form1) { item.Close(); } } })); }
當然前提是這兩個窗體都不是主窗體,如果是主窗體,則把item.Close()改成item.Hide(); 等到要返回時則用Application.OpenForm來查找到此窗體並Show出來。
Over.
Winform跳轉不"閃現"