解决方案 »
- c#通过odbc连接mysql之后读取数据,中文显示为????
- 如何在框架之间刷新指定标签背景色
- 求正则表达式!谢谢
- datagrid升级到datagridview后的问题
- 请问下面的程序我进行了16数的比较,为什么会报错呢?
- 菜鸟问题-dataGrid绑定数据库问题
- 请问 C# 中,已知"时区"和"日期",如何转换成本地时间?
- 问个XP下IIS的问题,我在WIN2003下做的一个网站,为何放到XP下只有数据库读取的权限,没有修改和删除的权限?如何解决?
- Nevron Chart for .NET这个软件怎么用啊?高分送!
- 我做的测试计算机速度的网页,做成网页直接运行即可
- .net和数据库
- 求速度帮忙解决下 C#截取exsl 单元格 aaa.123_asdf_中文字符
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); //登录
DialogResult result = new LoginForm().ShowDialog();
MainForm mainForm = new MainForm();
if (result == DialogResult.OK)
{
Application.Run(mainForm);
}
//
{
public static void Run()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); // 创建登录窗体,启动消息循环
var loginForm = new LoginForm();
Application.Run(new MyApplicationContext(loginForm));
} public MyApplicationContext(LoginForm loginForm) : base(loginForm)
{
loginForm.FormClosing += (sender, args) => MainForm = null;
loginForm.FormClosed += (sender, args) => {
bool success = ((LoginForm)sender).DialogResult == DialogResult.OK;
if (success)
{
// 登录成功, 创建并显示主窗体
MainForm = new MainForm();
MainForm.Show();
}
else
{
// 登录失败,退出
ExitThread();
}
};
}
}static class Program
{
[STAThread]
static void Main()
{
MyApplicationContext.Run();
}
}msdn上也有个类似的例子http://msdn.microsoft.com/en-us/library/system.windows.forms.applicationcontext(v=vs.110).aspx
1.一开始就显示主窗体,登陆窗体以模式窗体方式启动
2.如果主窗体内容过多,或需要先判断登陆用户,再加载不同内容,还有2种办法
1)登陆窗体hide,主窗体show
2)用Application.Run打开主窗体,登陆窗体close
{
var f = new MainForm();
f.Closed += f_Closed;
f.Show();
this.Hide();
}private void f_Closed(object sender, EventArgs e)
{
this.Close();
}这样,当业务主窗体关闭时,登录窗体也就退出了。