12.13
C/S结构用户界面设计
C/S结构用户界面设计
【实验编号】
10003809547j 图形用户界面设计
【实验学时】
8学时
【实验环境】
l 所需硬件环境为微机;
l 所需软件环境为Microsoft Visual Studio 2013
【实验内容】
编写一整套Mis系统UI界面,Mis系统名称自拟,尽量运用到如下控件:
l 窗体
l 菜单
l 工具栏
l 状态栏控件
l 标签控件
l 按钮控件
l 文本框控件
l 单选按钮控件
l 复选框控件
l 列表框控件
l 组合框控件
l 分组框控件
l 面板控件
l 图片框控件
l 定时器控件
l 滚动条控件
l 月历控件
【关键步骤】
ico原图
背景原图
数据库连接代码(Dao)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
namespace ACE
{
internal class Dao
{
SqlConnection sc;
public SqlConnection connect()
{
String str = @"Data Source = LEGION_XIMENG; Initial Catalog = ACEDB; Integrated Security = True";
sc = new SqlConnection(str);//创建数据库连接
sc.Open();//打开数据库
return sc; //返回连接对象
}
public SqlCommand command(String sql)
{
SqlCommand cmd = new SqlCommand(sql,connect());
return cmd;
}
public int Execute(string sql)//更新操作
{
return command(sql).ExecuteNonQuery();
}
public SqlDataReader read(String sql)//读取操作
{
return command(sql).ExecuteReader();
}
public void DaoClose()
{
sc.Close();
}
}
}
主页面及登录相关代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ACE
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.BackgroundImage = Image.FromFile(@"C:\Users\27769\Desktop\work\c#\ACE\ACE\images\ACE.png");
this.BackgroundImageLayout = ImageLayout.Stretch;
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text != "" && textBox2.Text != "")
{
login();
}
else
{
MessageBox.Show("输入有空,请重新输入");
}
}
public void login()
{
if (radioButtonUser.Checked == true)
{
Dao dao = new Dao();
string sql = "select * from t_user where id = '" + textBox1.Text + "' and psw = '" + textBox2.Text + "'";
IDataReader dc = dao.read(sql);
if (dc.Read())
{
Data.UID = dc["id"].ToString();
Data.UName = dc["name"].ToString();
MessageBox.Show("登陆成功,开始意识训练吧!");
ACER1 ACER =new ACER1();
this.Hide();
ACER.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陆失败,请重新登录");
}
dao.DaoClose();
//MessageBox.Show(dc[0].ToString() + dc["name"].ToString());
}
else if (radioButtonAdmin.Checked == true)
{
Dao dao = new Dao();
string sql = "select * from t_admin where id = '" + textBox1.Text + "' and psw = '" + textBox2.Text + "'";
//MessageBox.Show(sql);
IDataReader dc = dao.read(sql);
if (dc.Read())
{
MessageBox.Show("登陆成功,欢迎ACE意识训练系统管理员");
Admin1 Admin = new Admin1();
this.Hide();
Admin.ShowDialog();
this.Show();
}
else
{
MessageBox.Show("登陆失败,请重新登录");
}
dao.DaoClose();
}
else
{
MessageBox.Show("登陆失败,请选择身份");
}
}
private void button2_Click(object sender, EventArgs e)
{
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
意识体管理,包含意识体数据的增删改查
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ACE
{
public partial class Admin2 : Form
{
public Admin2()
{
InitializeComponent();
this.BackgroundImage = Image.FromFile(@"C:\Users\27769\Desktop\work\c#\ACE\ACE\images\ACE.png");
this.BackgroundImageLayout = ImageLayout.Stretch;
}
private void button1_Click(object sender, EventArgs e)
{
admin2_1 admin = new admin2_1();
admin.ShowDialog();
Table();
}
private void Admin2_Load(object sender, EventArgs e)
{
Table();
String id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取id
String name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取id
label1.Text = id;
label2.Text = name;
}
public void Table()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person";
IDataReader dc = dao.read(sql);
while(dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
//根据编号查询
public void TableID()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person where id = '"+textBox1.Text+"'";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
//根据名称查询
public void TableName()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person where name like '%" + textBox2.Text + "%'";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
private void button3_Click(object sender, EventArgs e)
{
try
{
String id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取id
String name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取id
label1.Text = id;
label2.Text = name;
DialogResult dr = MessageBox.Show("确认删除","信息提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
if(dr == DialogResult.OK)
{
String sql = "delete from t_person where id = '" + id + "'";
Dao dao = new Dao();
if(dao.Execute(sql)>0)
{
MessageBox.Show("删除成功");
Table();
}
else
{
MessageBox.Show("删除失败"+sql);
}
}
}
catch
{
MessageBox.Show("请先选中意识体!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
private void dataGridView1_Click(object sender, EventArgs e)
{
String id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取id
String name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取id
label1.Text = id;
label2.Text = name;
}
private void button2_Click(object sender, EventArgs e)
{
try
{
string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
string name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
string sex = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
string birthday = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
string number = dataGridView1.SelectedRows[0].Cells[4].Value.ToString();
Admin2_2 admin = new Admin2_2(id,name,sex,birthday,number);
admin.ShowDialog();
Table();
}
catch
{
MessageBox.Show("ERROR");
}
}
private void button5_Click(object sender, EventArgs e)
{
TableID();
}
private void button6_Click(object sender, EventArgs e)
{
TableName();
}
private void button4_Click(object sender, EventArgs e)
{
Table();
textBox1.Text = "";
textBox2.Text = "";
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
其中包含即时显示所选项的功能
用户使用同理,以下为用户使用意识体训练的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection.Emit;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ACE
{
public partial class ACER2 : Form
{
public ACER2()
{
InitializeComponent();
this.BackgroundImage = Image.FromFile(@"C:\Users\27769\Desktop\work\c#\ACE\ACE\images\ACE.png");
this.BackgroundImageLayout = ImageLayout.Stretch;
}
private void ACER2_Load(object sender, EventArgs e)
{
Table();
String id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取id
String name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取id
label1.Text = id;
label2.Text = name;
}
public void Table()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
public void TableID()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person where id = '" + textBox1.Text + "'";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
//根据名称查询
public void TableName()
{
dataGridView1.Rows.Clear();//清空旧数据
Dao dao = new Dao();
String sql = "select * from t_person where name like '%" + textBox2.Text + "%'";
IDataReader dc = dao.read(sql);
while (dc.Read())
{
dataGridView1.Rows.Add(dc[0].ToString(), dc[1].ToString(), dc[2].ToString(), dc[3].ToString(), dc[4].ToString());
}
dc.Close();
dao.DaoClose();
}
private void button5_Click(object sender, EventArgs e)
{
TableID();
}
private void button6_Click(object sender, EventArgs e)
{
TableName();
}
private void button1_Click(object sender, EventArgs e)
{
string id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
int number = int.Parse(dataGridView1.SelectedRows[0].Cells[4].Value.ToString());
if (number < 1)
{
MessageBox.Show("意识体余量不足,请等待");
}
else
{
string sql = "insert into t_training(uid,pid,datetime) values('"+Data.UID+"','"+id+"',getdate());update t_person set number=number-1 where id='"+id+"'";
Dao dao = new Dao();
if(dao.Execute(sql) > 1)
{
MessageBox.Show(Data.UName+"使用意识体"+id+"训练,训练开始");
Table();
}
}
}
private void dataGridView1_Click(object sender, EventArgs e)
{
String id = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();//获取id
String name = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();//获取id
label1.Text = id;
label2.Text = name;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
过多的不再杂叙,详情看源码(sln工程)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通