一、用户管理页面
1.窗体间数据传输
一、用户管理页面(Frmmain.cs)
- 用户管理:工具箱——菜单和工具栏——MenuStrip(有二级目录)
- 显示当前登录用户|登陆时间|系统时间:StatusStrip(同上)
- 登陆时间(静态):双击空白处进入代码区
private void Frmmain_Load(object sender, EventArgs e)
{
this.sllogintime.Text = DateTime.Now.ToString(); //静态时间显示;将前面内容转换成字符串
timer1.Enabled = true;
}
- 系统时间(动态):
组件——timer控件——属性
闪电logo(事件):双击,进入
private void timer1_Tick(object sender, EventArgs e)
{
this.slsystemtime.Text = DateTime.Now.ToString(); //动态时间,每秒触发 1000ms
}
- 跨页面数据传输信息
- 登录文本框内容——放入 用户管理页面( FORM1传给Frmmain页面)
Form1页面:在Frmmain()中添加:txtusername.Text——Frmmain上右键——转到定义
else if(user.logininfofind(txtusername.Text,txtpassward.Text,comflag.Text)==1) //调用logininfofind验证身份是否正确或存在
{
Frmmain frn = new Frmmain(txtusername.Text); //int a=new 用drmmian定义了frn 分配了构造函数new frmmain 类名和构造函数名相同
// 类是用户自定义的 功能比结构体和联合体强大 可以包含方法函数
frn.Show(); //无参函数 显示窗体
this.Hide(); //对象指针 指向当前操作对象form1 hide隐藏
}
- frmmain页面:
Frmmain添加赋值 sname = username;—— Frmmain_Load添加调用:this.slusername.Text = sname; ——class下 添加全局变量名字string sname;
public partial class Frmmain : Form
{
string sname; //++增加全局变量名字 从FORM1传递的
public Frmmain(string username)
{
InitializeComponent();
sname = username; //当前登录的用户名,局部变量 //++赋值FORM1名字
}
private void Frmmain_Load(object sender, EventArgs e)
{
this.sllogintime.Text = DateTime.Now.ToString(); //静态时间显示;将前面内容转换成字符串
timer1.Enabled = true;
this.slusername.Text = sname; //++调用FORM1名字
}
2. 新建用户界面
1. 窗口设计 :新建Frmnewuser.cs窗体
- 1.窗体text值+icon图标;
2.label的text改变;
3.textbox+combobox表格;
4.清空:button1;text,name:btclear
取消:button2;text,name:btch
确定:button3;text,name:btok;
5.txtusername/txtuserpwd/tetuserpwd2/?;(用户名、密码、重复密码、身份)
items:结合 普通用户+管理员;
Windowsstate :设置窗口最大化
2. 代码
- Frmnewuser中:
//清空按钮
private void btclear_Click(object sender, EventArgs e)
{
txtusername.Text = "";
txtuserpwd.Text = "";
txtuserpwd2.Text = "";
comid.Text = "";
}
//取消按钮 Application.Exit();会直接退出界面 用this.Hide();当前隐藏
private void btch_Click(object sender, EventArgs e)
{
this.Hide();
}
- Classuser.cs类中(在Frmnewuser中newuser上右键转到定义)
//数据库连接放在开始,方便引用
SqlConnection con = null; //数据库连接
SqlCommand cmd = null; //执行sql操作
SqlDataReader qlddr = null; //sql执行结果存放缓冲区域
#region //新建用户的方法,对用户信息表的插入操作 insert
public int newuser(string un, string up, string up2, int uid) //返回值username userpasswd userid userflag
{
int flag = 0; //初始行数为0,操作成功为1,只插入1行
try
{
string s = "insert into Table_user values('" + un + "','" + up + "','" + up2 + "','" + uid + "')";
getsql gc = new getsql(); //数据库连接
con = gc.getcon();
cmd = new SqlCommand(s, con);
flag=cmd.ExecuteNonQuery(); //返回受影响的行数
return flag;
}
catch (Exception ee)
{
MessageBox.Show(ee.ToString());
return flag;
}
}
#endregion
- Frmnewuser中:
//确定按钮
private void btok_Click(object sender, EventArgs e)
{
Classuser user=new Classuser();
if(txtusername.Text == "") //判断用户名是否为空
{
MessageBox.Show("请输入用户名!", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
return;
}
else if(txtuserpwd.Text == "") //判断密码是否为空
{
MessageBox.Show("请输入密码!", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
return;
}
else if(txtuserpwd2.Text == "") //判断第二次密码是否为空
{
MessageBox.Show("请再次输入密码!", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
return;
}
else if(txtuserpwd.Text!=txtuserpwd2.Text) //判断两次输入的密码是否一致
{
MessageBox.Show("两次输入的密码不一致!请重新输入!", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
return;
}
else if(comid.Text=="") //判断身份是否为空
{
MessageBox.Show("请选择用户的身份!", "ERROR", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
return;
}
else if (user.newuser(txtusername.Text,txtuserpwd.Text,comid.Text,1) == 1) //新建用户,将用户信息插入到数据库对应的用户信息表中
{
MessageBox.Show("新建用户成功!");
return;