帮忙写一个C# WindowsForm登陆代码

尽量完美一点,然后上面就一个登陆按钮,一个用户名和一个密码文字框。... 尽量完美一点,然后上面就一个登陆按钮,一个用户名和一个密码文字框。 展开
 我来答
匿名用户
2013-08-05
展开全部
namespace MyQQ
{
public partial class LoginForm : Form
{
int i = 1; //在线状态的Id public LoginForm()
{
InitializeComponent();
} //连接注册号码的事件
private void lkblshenqianhaoma_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
RegisterForm registerForm = new RegisterForm();
registerForm.Show();
} //连接找回密码的事件
private void lkblPwd_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
searchPwdForm searchPwd = new searchPwdForm();
searchPwd.Show();
} //提示输入完整的方法
private bool ValidateInput()
{
//填MyQQ文本框为空时,提示输入QQ号码
if (txtQQNum.Text.Trim() == "")
{
MessageBox.Show("请输入QQ号码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information); //获得光标
txtQQNum.Focus(); return false;
}
//填密码的文本框为空时,提示输入密码
else if (txtPwd.Text.Trim() == "")
{
MessageBox.Show("请输入QQ密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); //获得光标
txtPwd.Focus(); return false;
}
else
{
return true;
}
} //判断用户是否存在的方法
private bool ValidateUser(string txtQQNum, string txtPwd, ref string message)
{
int count = 0; bool isValidUser = false; //查询用户是否存在的Sql语句
string sql = string.Format("select count(*) from Users where Id='{0}'and LoginPwd='{1}'", txtQQNum, txtPwd);
try
{
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); count = (int)command.ExecuteScalar();
//返回值小于0,则表示用户不存在
if (count < 1)
{
message = "用户密码不存在!"; isValidUser = false;
}
//否则用户存在,返回值为真
else
{
isValidUser = true;
}
}
catch (Exception ex)
{
message = ex.Message; Console.WriteLine(ex.Message);
}
finally
{
//关闭数据库
DBHelper.connection.Close();
}
return isValidUser;
}
//关闭登录页面
private void btlCancle_Click(object sender, EventArgs e)
{
this.Close();
} //登录按钮的处理事件
private void btnLoin_Click_1(object sender, EventArgs e)
{
bool isValiDUser = false; string message = ""; //判断QQ号码和密码是否填写,如果为真,则进行下一步
if (ValidateInput())
{
isValiDUser = ValidateUser(txtQQNum.Text, txtPwd.Text, ref message); //判断用户是否存在
if (isValiDUser)
{
int userstate = 0;
//查询该用户的在线状态
string sql = string.Format("select UserState from Users where Id={0}", Convert.ToInt32(txtQQNum.Text.Trim())); DBHelper.connection.Open(); SqlCommand command = new SqlCommand(sql, DBHelper.connection); SqlDataReader dataReader = command.ExecuteReader(); //运用SqlDataReader对象读取数据
if (dataReader.Read())
{
userstate = Convert.ToInt32(dataReader["UserState"]);
} dataReader.Close(); DBHelper.connection.Close(); //当用户状态为离线时才能登录
if (userstate == 2)
{
//改变用户的在线状态的Sql语句
string sql2 = string.Format("Update Users set UserState={0} where Id={1}",i,Convert.ToInt32(txtQQNum.Text.Trim())); command.CommandText = sql2; DBHelper.connection.Open(); int result = command.ExecuteNonQuery(); DBHelper.connection.Close(); //删除已读信息的Sql语句
string sql3 = string.Format("delete Messages where (MessageStation=0 and ToUserId={0} and MessageState=1) or MessageTypeId=3", Convert.ToInt32(txtQQNum.Text.Trim())); command.CommandText = sql3; DBHelper.connection.Open(); int result1 = command.ExecuteNonQuery(); DBHelper.connection.Close(); //把QQ号码付给静态的UserHelper类中,因为静态方法可以直接调用
UserHelper.Loginld = txtQQNum.Text; //打开主页面
MainForm mainForm = new MainForm(); mainForm.Show(); //隐藏当前窗口
this.Visible = false;
}
else
{
string messge = string.Format("在其它地方{0}已登录,不能重复登录!",txtQQNum.Text.ToString().Trim());
MessageBox.Show(messge, "登录提示");
} }
else
{
MessageBox.Show(message, "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
} //初始皮肤
private void LoginForm_Load(object sender, EventArgs e)
{
this.skinEngine1.SkinFile = "MP10.ssk";
} //获得登录状态的事件
private void tsmiStations_Click(object sender, EventArgs e)
{
i = Convert.ToInt32(((ToolStripMenuItem)sender).Tag);
}
}
}
匿名用户
2013-08-05
展开全部
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace MyQQ
{
public partial class loginForm : Form
{
public loginForm()
{
InitializeComponent();
} private void btndenglu_Click(object sender, EventArgs e)
{
UserHelper.loginId =Convert.ToInt32( txtname.Text);
UserHelper.loginpwd = txtpwd.Text;
int result;
if (txtname.Text.Trim() == "")
{ MessageBox.Show("请输入号码", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
txtname.Focus();
}
else if (txtpwd.Text.Trim() == "")
{
MessageBox.Show("请输入密码", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
txtpwd.Focus();
}
else
{

string sql = string.Format("select count(*) from users where id='{0}'and loginpwd='{1}'",txtname .Text ,txtpwd.Text );
try
{
SqlCommand command = new SqlCommand(sql, DBHelper.connection); DBHelper.connection.Open(); result = (int)command.ExecuteScalar();
}
catch (Exception ex)
{ throw ex;
}
finally
{
DBHelper.connection.Close();
}
if (result == 1)
{
MainForm main = new MainForm();
main.Show();
this.Hide();
}
else
{
MessageBox.Show("用户和密码错误");
}
}
} private void btnquxiao_Click(object sender, EventArgs e)
{
this.Close();
}
private void txtname_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(char.IsNumber(e.KeyChar) || e.KeyChar == '\b'))
{
e.Handled = true;
}
} private void linknumber_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
RegisterForm f = new RegisterForm();
f.Show();
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-05
展开全部
最简单的做法就是定死一个用户名和一个密码public static string name="www";public static string password="12345";利用if判断在登录按钮事件中写if(Textbox1.text==name&&Textbox2.text==password){ ...登录成功,打开另一个窗口}else{ MessageBox.show("你输入的用户名或密码错误");}如果你想输入密码时以*显示,可以在textbox2中设置属性passwordChar为*
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-05
展开全部
真服楼上的两位 自己拖拽不就玩了么 有用不了两分钟 而且你们的代码他有不能用 C#的代码是分着的 光有这点东西 又没有控件的定义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式