WinForm设计之初始窗体(SplashScreenForm)

王朝system·作者佚名  2006-12-03
窄屏简体版  字體: |||超大  

Author:水如烟

代码见应用类代码辅助类代码

关于初始窗体,在这也曾说过,不过因为图片说明的多,是链接到博客园我的博客里的.

如何操作,详见《HOW TO:溅射屏幕(Splash Screen),也叫程序启动画面的制作(.NET2005) 》和《HOW TO:溅射屏幕(Splash Screen),也叫程序启动画面的制作(.NET2003) 》。

在这里我只是简单说一下该留意的:

一是初始窗体显示的时间默认为两秒,在主窗体初化(New的过程)和加载(Load的过程)两个时段它一直显示,加载结束后初始窗体自动Dispose,主窗体自动受激活;

二是主窗体在设计和加载中不要置WindowState=Maximized,最好设为Normal。若置为Maximized,那么初始窗体显示时主窗体也一样显示出来。当然,你可以在加载代码最后一行来置它。

三,IDE提供的初始窗体少了加载过程消息返馈到初始窗体,所以这里加了一个静态类SplashScreenHelper处理。同时也加一个函数ActiveFormWithMaxnumSize来置主窗体的最大化并激活。

示例代码:

Imports lzmtw.uSystem.uWindows.uForms

Public Class MainForm

Private Sub MainForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

uMainForm.SplashScreenHelper.SendMessage("正在初始化界面....")

Dim m As New uMainForm.Menu.MenuManager()

'取主窗体MenuStrip,如没有自动添加一个给它

m.SetMainFormMenuStrip(Me)

'读菜单文件

m.ReadFile("Test.mnu")

'绑定默认的Click事件

m.AddDefaultClickHandler()

'附加About窗体

uMainForm.AboutFormAddtoMainForm.Instance(Me)

'停两秒截屏

Threading.Thread.Sleep(2000)

'模仿连接数据库

uMainForm.SplashScreenHelper.SendMessage("正在连接数据库...")

'如连接耗时五秒

Threading.Thread.Sleep(5000)

'这个使主窗最大,可以不使用

uMainForm.SplashScreenHelper.ActiveFormWithMaxnumSize(Me)

End Sub

Protected Overridable Sub OnNewClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' New

MsgBox("New")

End Sub

Protected Overridable Sub OnOpenClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Open

MsgBox("Open")

End Sub

Protected Overridable Sub OnCloseClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Close

MsgBox("Close")

End Sub

Protected Overridable Sub OnConfigClick(ByVal sender As System.Object, ByVal e As System.EventArgs) ' Config

MsgBox("Config")

End Sub

End Class

效果图:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航