如果程式在裝載時需要進行較長時間的處理,最好使用啟動畫面,一方面美化程式,一方面可以不使使用者面對著一片空白的程式介面。
我手頭上乙個小專案主介面啟動時需要檢查使用者檔案及執行環境是否有效,需要一段時間處理,因此想到要新增乙個啟動畫面,在網上搜了一陣,發現下面兩個方案:
1、用c#給程式加啟動畫面並只允許乙個應用程式例項執行
2、how to:濺射螢幕(splash screen),也叫程式啟動畫面的製作(.net2003)
第乙個方案在實現與介面分離上做得不夠好,啟動介面(乙個窗體)依賴於特定窗體,主窗體還必須新增乙個preload方法完成裝載任務,只能在**級重用。而且那個只允許乙個例項的寫法也太....
第二個方案框架很好,但細微處理可能存在一點問題,需要判斷主窗體的windowstate,整個**也較複雜。
我改動了一下,基本結構仿照第二個方案。
功能:為程式新增啟動介面,顯示啟動介面的同時載入主窗體,主窗體載入完畢後關閉啟動介面,顯示主窗體。啟動畫面停留的時間是設定的時間和主窗體裝載所需時間兩個的最大值。啟動畫面在另乙個執行緒上執行。
程式**如下:
//使用方法:定義乙個啟動類,應用程式從啟動類啟動,該類會使用繼承自啟動窗體虛基類的乙個啟動窗體類,在該類中定義啟動窗體和主窗體。啟動窗體和主窗體的**略去,注意要刪除機器生成的窗體**的main方法部分。using
system.windows.forms;
using
system.threading;
using
system;
//啟動畫面虛基類,啟動畫面會停留一段時間,該時間是設定的時間和主窗體構造所需時間兩個的最大值
public
abstract
class
private
form _splashscreenform;
//啟動窗體
private
form _primaryform;
//主窗體
private
system.timers.timer _splashscreentimer;
private
int_splashscreentimerinterval
=5000;//
預設是啟動窗體顯示5秒
private
bool
_bsplashscreenclosed
=false
private
delegate
void
disposedelegate();
//關閉委託,下面需要使用控制項的invoke方法,該方法需要這個委託
public
this
.showsplashscreen();
//這裡建立和顯示啟動窗體
this
.mainformload();
//這裡建立和顯示啟動主窗體
} protected
abstract
void
oncreatesplashscreenform();
protected
abstract
void
oncreatemainform();
protected
abstract
void
setseconds();
protected
form splashscreenform }
protected
form primaryform }
protected
intsecondsshow }
} private
void
showsplashscreen()
private
void
displaysplashscreen()
private
void
splashscreendisplaytimeup(
object
sender, system.timers.elapsedeventargs e)
private
void
mainformload()
private
void
_primaryform_closed(
object
sender, eventargs e)
public以上介紹的就是c# winform程式新增啟動畫面,希望對你有所幫助。class
startupclass }
//啟動窗體類(繼承自啟動窗體虛基類),啟動畫面會停留一段時間,該時間是設定的時間和主窗體構造所需時間兩個的最大值
public
class
protected
override
void
oncreatesplashscreenform()
protected
override
void
oncreatemainform()
protected
override
void
setseconds() }
純QML程式新增開啟動畫
目前在用純qml做專案,由於移植到android後開啟比較慢,所以想給其新增乙個開啟動畫。如果用qwidget做頂層顯示控制項的話,在main函式中用qsplashscreen就可以很容易的實現開啟動畫 qsplashscreen的幫助文件有demo 但是目前用的是qquickview來顯示所以qs...
linux qt啟動畫面 QT 新增啟動畫面
許多應用程式在啟動時顯示乙個畫面。在程式啟動很慢時,程式設計師用這種方法可以讓啟動時間感覺不那麼長,還有用這個畫面滿足市場的一些要求。給qt應用程式加乙個啟動畫面很簡單,需要使用的類是qsplashscreen。下面的乙個程式的main 函式使用qsplashscreen顯示乙個啟動畫面,同時顯示載...
程式啟動畫面
vc選單欄的 工程 增加到工程 components and controls.單擊 insert 後會顯示確認對話方塊,點選 確認 後,會顯示插入資訊 class name 插入的啟動畫面視窗類的名稱 bitmap resource id 使用的點陣圖資源id 單擊 ok 按鈕後返回compone...