1、设置窗体的属性
Name: 给窗体起一个名字(每一个窗体都是一个对象)
FormBorderStyle: 设置框体的边框样式 6个值
None: 去掉边框
FixedSingle: 不允许拖动边框
SizeAble: 默认值
Text: 设置窗体的标题
ICon: 设置窗体及任务栏显示的图标
BackgroundImage: 设置窗体背景图片
BackColor: 设置窗体背景颜色
StartPosition: 设置窗体默认显示位置
CenterScreen: 居中显示
CenterParent: 在父窗体中间显示
WindowState: 设置打开时最大化、最小化、正常
Maximized:最大化
MInimized: :最小化
Normal: 正常窗体大小
2、常用的控件
在工具箱里面找---视图--工具箱
1、Label:文本标签 显示文字 设置Text属性值
2、TextBox: 文本框
3、ComboBox:组合框(下拉框)
设置下拉列表直接添加项,一个项单独一行
4、Button: 按钮 设置显示文字设置Text
3、取控件的值
空间名.Text
string name= txt_user.Text;
4、事件
窗体的载入事件
load事件:直接双击窗体进入的事件就是载入事件
click: 单击事件
5、消息框:
1、 MessageBox.Show(提示语句);
2、 MessageBox.Show(提示语句,标题);
3、 MessageBox.Show(提示语句,标题,按钮);
4、 MessageBox.Show(提示语句,标题,按钮,图标);
6、消息框的返回值
返回值是 DialogResult 类型
判断的时候也需要用到枚举去判断
DialogResult res= MessageBox.Show("帐号密码不能为空","警告",
MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
if (res==DialogResult.OK)
{
txt_name.Focus();// 获得焦点
}
7、窗体间的传值
A窗体传值传到B窗体
1、在B窗体添加一个public修饰的字段name
2、在A窗体创建B窗体对象后给B窗体的这个字段赋值
B b=new B();
b.name="张三";
b.Show();
8、 使用数据库连接工具类和 业务分离,提高程序可维护性
1、新建一个数据库连接工具类 ConnectionUtil
1.1 先写数据库连接字符串
string constr = @"Data Source=.;Initial Catalog=MySchool;User ID=root;pwd=root";
1.2 定义一个SqlConnection类型的字段 _conn
1.3 封装这个字段 去掉set(不需要从外面赋值)
1.4 在get里面做判断,如果_conn字段是空值(也就是没有创建这个对象)
public SqlConnection Conn
{
get {
if (_conn==null)
{
_conn = new SqlConnection(constr);
}
return _conn;
}
注意点:
在属性里面出现的对象都是小写的字段,如果使用大写的属性,会出现无限递归调用,
导致内存溢出
1.5 自定义一个数据库连接对象打开的方法
(如果直接使用连接对象.Open(),一旦数据库连接对象没有关闭时再次调用Open()会报异常)
1.5.1
public void OpenConn()
{
//ConnectionState 枚举类型,指的是数据库连接对象的当前状态,需要引入命名空间
// Closed:关闭 OPen:打开 Broken:阻塞状态
if (Conn.State == ConnectionState.Closed)
{
Conn.Open();
}
else if (Conn.State == ConnectionState.Broken)
{
// 如果是阻塞状态 需要先关闭 再打开
Conn.Close();
Conn.Open();
}
}
注意点: 打开或关闭方法里面使用的数据库连接对象都是用属性而不用字段
1.6 自定义关闭数据库连接对象的方法
public void CloseConn()
{
//ConnectionState.Closed 指的是数据库连接对象的当前状态
// closed:关闭 OPen:打开 Broken:阻塞状态
if (Conn.State == ConnectionState.Open || Conn.State == ConnectionState.Broken)
{
Conn.Close();
}
}
工具类的用处:
以后需要使用连接对象时,只需要创建工具类的对象
通过对象.Conn属性获得连接对象
通过对象.OpenConn() 打开数据库连接对象
通过对象.CLoseConn() 关闭数据库连接对象
9、创建数据库操作类--提供给业务逻辑类处理数据库数据的一些方法
对数据库的增删改查的方法
9.1 定义一个数据库连接工具类对象(对象.Conn获取连接对象)
ConnectionUtil connUtil=new ConnectionUtil();
自定义方法 ---查询的方法
public SqlDataReader GetStudentByNo(string sql)
{
// 1、获得数据库连接对象
SqlConnection sqlConn= connUtil.Conn;
// 2、打开数据库连接
connUtil.OpenConn();
// 3、创建Command对象
SqlCommand mand=new SqlCommand(sql,sqlConn)
// 4、执行操作 SqlCommand调用对应的执行方法
SqlDataReader reader= mand.ExecuteReader() // 查询多行时使用
return reader;
}
// 统计学生总人数的方法
public int CountStudent(string sql)
{
// 1、获得数据库连接对象
SqlConnection sqlConn= connUtil.Conn;
// 2、打开数据库连接
connUtil.OpenConn();
// 3、创建Command对象
SqlCommand mand=new SqlCommand(sql,sqlConn)
// 4、执行操作 SqlCommand调用对应的执行方法
int count=(int) mand.ExecuteScalar() // 查询单个值时使用
// 5、关闭数据库连接对象
connUtil.CloseConn()
return count;
}
// 执行增删改通用的方法
public int CountStudent(string sql)
{
// 1、获得数据库连接对象
SqlConnection sqlConn= connUtil.Conn;
// 2、打开数据库连接
connUtil.OpenConn();
// 3、创建Command对象
SqlCommand mand=new SqlCommand(sql,sqlConn)
// 4、执行操作 SqlCommand调用对应的执行方法
int count= mand.ExecuteNonQuery()// 增删改时调用 返回受影响(执行成功)的行数
// 5、关闭数据库连接对象
connUtil.CloseConn()
return count;
}