1.启动窗体的程序控制
方法:设置启动窗体为 非 主线程窗体,以在主窗体启动前先行显示程序信息,进行参数加载,权限设置等.
代码
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form2 frm = new Form2(); //启动欢迎窗体
if (frm.ShowDialog() == DialogResult.OK)
{
Application.Run(new Form1()); //启动主窗体
}
else
{
Application.Exit();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "系统登陆", MessageBoxButtons.OK, MessageBoxIcon.Stop);
Application.Exit();
}
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form2 frm = new Form2(); //启动欢迎窗体
if (frm.ShowDialog() == DialogResult.OK)
{
Application.Run(new Form1()); //启动主窗体
}
else
{
Application.Exit();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "系统登陆", MessageBoxButtons.OK, MessageBoxIcon.Stop);
Application.Exit();
}
动画启动与退出窗体代码:
代码
using System.Runtime.InteropServices;
public Form1()
{
InitializeComponent();
//动画启动
AnimateWindow(this.Handle, 800, AW_SLIDE + AW_CENTER);
this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
}
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//动态关闭窗体
AnimateWindow(this.Handle, 800, AW_SLIDE + AW_HIDE + AW_CENTER);
}
#region 动画窗体
[DllImportAttribute("user32.dll")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
/*
1. AW_SLIDE : 使用滑动类型, 默认为该类型. 当使用 AW_CENTER 效果时, 此效果被忽略
2. AW_ACTIVE: 激活窗口, 在使用了 AW_HIDE 效果时不可使用此效果
3. AW_BLEND: 使用淡入效果
4. AW_HIDE: 隐藏窗口
5. AW_CENTER: 与 AW_HIDE 效果配合使用则效果为窗口几内重叠, 单独使用窗口向外扩展.
6. AW_HOR_POSITIVE : 自左向右显示窗口
7. AW_HOR_NEGATIVE: 自右向左显示窗口
8. AW_VER_POSITVE: 自顶向下显示窗口
9. AW_VER_NEGATIVE : 自下向上显示窗口
*/
public const Int32 AW_HOR_POSITIVE = 0x00000001;
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
public const Int32 AW_VER_POSITIVE = 0x00000004;
public const Int32 AW_VER_NEGATIVE = 0x00000008;
public const Int32 AW_CENTER = 0x00000010;
public const Int32 AW_HIDE = 0x00010000;
public const Int32 AW_ACTIVATE = 0x00020000;
public const Int32 AW_SLIDE = 0x00040000;
public const Int32 AW_BLEND = 0x00080000;
#endregion
public Form1()
{
InitializeComponent();
//动画启动
AnimateWindow(this.Handle, 800, AW_SLIDE + AW_CENTER);
this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);
}
void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//动态关闭窗体
AnimateWindow(this.Handle, 800, AW_SLIDE + AW_HIDE + AW_CENTER);
}
#region 动画窗体
[DllImportAttribute("user32.dll")]
private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
/*
1. AW_SLIDE : 使用滑动类型, 默认为该类型. 当使用 AW_CENTER 效果时, 此效果被忽略
2. AW_ACTIVE: 激活窗口, 在使用了 AW_HIDE 效果时不可使用此效果
3. AW_BLEND: 使用淡入效果
4. AW_HIDE: 隐藏窗口
5. AW_CENTER: 与 AW_HIDE 效果配合使用则效果为窗口几内重叠, 单独使用窗口向外扩展.
6. AW_HOR_POSITIVE : 自左向右显示窗口
7. AW_HOR_NEGATIVE: 自右向左显示窗口
8. AW_VER_POSITVE: 自顶向下显示窗口
9. AW_VER_NEGATIVE : 自下向上显示窗口
*/
public const Int32 AW_HOR_POSITIVE = 0x00000001;
public const Int32 AW_HOR_NEGATIVE = 0x00000002;
public const Int32 AW_VER_POSITIVE = 0x00000004;
public const Int32 AW_VER_NEGATIVE = 0x00000008;
public const Int32 AW_CENTER = 0x00000010;
public const Int32 AW_HIDE = 0x00010000;
public const Int32 AW_ACTIVATE = 0x00020000;
public const Int32 AW_SLIDE = 0x00040000;
public const Int32 AW_BLEND = 0x00080000;
#endregion