
在Main方法内首先实例化登录窗体(frmLogin),然后ShowDialog()显示登录窗体了。这里的ShowDialog()方法是模态对话框。并判断返回的状态,此时线程就会阻塞在这个if判断这个位置,等到frmLogin窗体数培返回结果。如:
if (frmLogin.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMain())
}
你只需要在验证登录薯手唯成功的代码里加上 this.DialogResult = DialogResult.OK
这时Main方法里刚阻塞在if判断位置的条件成薯迟立了,将会执行Application.Run(new frmMain())来启动主窗体了。
解释有点啰嗦,贴上代码会更清楚。涉及到Program.cs和登录的后台代码frmLogin.cs
Program.cs
using System
using System.Collections.Generic
using System.Linq
using System.Windows.Forms
namespace DBDataDistributionClient
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault(false)
frmLogin frmLogin = new frmLogin()
if (frmLogin.ShowDialog() == DialogResult.OK)
{
Application.Run(new frmMain())
}
}
}
}
frmLogin.cs
using System
using System.Collections.Generic
using System.Linq
using System.Windows.Forms
namespace DBDataDistributionClient
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent()
}
//登录按钮事件
private void btnLogin_Click(object sender, EventArgs e)
{
if(...) //用户名密码验证正确
{
this.DialogResult = DialogResult.OK// 返回ok Main主程序就会启动主界面了。
this.Close()//关闭登录窗体
}
}
}
}
不明白的地方 可以继续提问。
vs2017c#窗口应用程序
连接mysql
进行登陆验证塌敬
不通过服务器连接
是什么意思,团迟慎
本地旦弊数据库与什么服务器连接
都是一样的代码
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)