C#Windows应用程序总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1: this.Text = "窗体左上角标题显示的文字"; 窗体左下角状态栏显示的文字: this.tslblTime.Text = "当前的时间为:" + DateTime.Now.ToString();
2: this.Visible = false; //此窗体隐藏 this.Close(); //关闭当前窗体 Application.Exit(); //退出应用程序
3:标签(Lable) 前缀:lbl
文本框(TextBox) 前缀:txt 多行文本(Multiline) 文本框中显示的字符(PasswordChar) txtA.Focus(); 光标
按钮(Button) 前缀:btn
单选按钮(RadioButton) 前缀:rdo 放在Panel面板中 默认选中 (checked = true)
列表框(ListBox) 前缀:lb 项(Items)
组合框(ComboBox) 前缀:cbo 项(Items) 只选,不能编辑(DropDownStyle) 索引(SelectedIndex)获取当前选定的项(SelectedItem)
分组框(GroupBox) 前缀:gb
图片框(PictureBox) 前缀:pb 图片大小(SizeMode = AutoSize)
图像列表(ImageList) 前缀:il
计时器(Timer) 前缀:tm 频率(Interval) 是否定时引发事件(Enabled)
选项卡(TabControl) 前缀:tc 页的集合(TabPages)
菜单条(MenuStrip) 前缀:ms
工具条(ToolStrip) 前缀:ts 前缀:其中某控件 tsmi
状态条(StatusStrip) 前缀:sts 前缀:其中某控件 slbl 和工具条相同是否显示图像和文字(DisplayStyle)
4: 模式窗体 form.ShowDialog();
5:父窗体MDI (1) 属性中(IsMDIContainer = true)
(2) 在调用的控件_Click事件中写代码: Form form = new Form(); //创建窗体对象
form.MdiParent = this; //指定父窗体
form.Show(); //显示子窗体
(3) 显示出现哪些窗体 应用于菜单条的某一项(tsmiWindows) 选中整个菜单条 (MenuStrip) 找到(MdiWindowListItem)属性 选中(tsmiWindows)
6: using System.Data.SqlClient; //SQL Server .NET 数据提供程序的命名空间
新建一个类:DBHelper
//数据库连接字符串
public static string connString = "";
//数据库连接对象
public static SqlConnection connection = new SqlConnection(connString);
7:******//SQL语句
****** //下拉框选取性别的值
sql += string.Format(" where sex = '{0}'", cboSex.SelectedItem.ToString());
****** string sex = ""; //性别
//判断单选按钮的取值SQL语句中直接写sex
if(rdoMan.Checked)
{
sex = "男";
}
else
{
sex = "女";
}
//查询
string sql = "select 列名 from 表名1 inner join 表名2 on ID = ID inner join 表名3 on ID = ID "
//修改
string sql = "Update 表名
Set = 列名= 新值 where 条件"
//删除
string sql = "Delete Form 表名 where 条件"
********* //下拉框的的Id在sql语句中添加该数据,如果列名为int 型
int Id = cboArea.SelectedIndex + 1;
//当下拉框有内容时,在if里写SQL语句
if (cboType.SelectedIndex != -1)
{
写SQL语句
}
//当下拉框没有内容时,提示信息
else
{
MessageBox.Show("请选择查询的种类!","系统提示",button,icon);
}
********* //下拉框中选择某值时 写语句
if(cboBrand.Text.Equals("全部"))
{
写SQL语句
}
******* 当要求点击或者下拉框选择某项时部分控件为无效状态
///当下拉框选择全部时
private void cboType_SelectedIndexChanged(object sender, EventArgs e)
{
if (cboType.Text == "全部") //当查询条件选择全部时
{
txtChoice.Enabled = false; //文本框置为无效状态
txtChoice.Text = ""; //清空查询条件的文本框
}
else
{
txtChoice.Enabled = true; //文本框置为有效状态
}
}
8:******//查询单个值
int num = 0; //数量
//查询使用的SQL语句
string sql = "select count(*) from 表名";
try
{
//打开数据库连接
DBHelper.connection.Open();
//执行查询
num = (int)command.ExecuteScalar(); ******
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
//关闭数据库连接
DBHelper.connection.Close();
}
9: ******添加数据 删除数据 修改数据
int result = command.ExecuteNonQuery();
if(result !=1)
{
添加 删除 修改 (失败)
}
else
{
添加 删除 修改 (成功)
}
********判断是否为空
private bool ValiadateInput()
{
foreach (Control ctl in this.Controls)
{
if (ctl as TextBox != null)
{
if (ctl.Text == "")
{
MessageBox.Show("请输入所有商品信息!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return false;
}
}
}
return true;
}
10: ******//组合框使用DataReader
//窗体加载事件向组合框中循环添加数据
try
{
//查询使用的SQL语句
string sql = "select deptName from deptInfo ";
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
//打开数据库
连接
DBHelper.connection.Open();
//执行Command对象
SqlDataReader dataReader = command.ExecuteReader(); ******
********** //循环读取部门名称并添加到组合框中
while (dataReader.Read())
{
string deptName = (string)dataReader[0];
cboName.Items.Add(deptName);*********
}
dataReader.Close(); //关闭dataReader
************* //获取ID
if(dataReader.Read())
{
int id = (int)dataReader[0];
}
dataReader.Close(); //关闭dataReader
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHelper.connection.Close(); //关闭数据库连接
}
11:ListView控件 显示列(Columns)打开 Name 前缀:ch 选中一行(FullRowSelect) 视图-详细信息(View--Detail) 网格线(GridLines)不允许选择多项(MultiSelect)
GetStudent();方法填出ListView
******** lvStudents.Items.Clear(); //清空ListView中所有的项
******** //从收件箱删除数据并将数据移除到垃圾箱中
this.lvMails.Items.Remove(this.lvMails.SelectedItems[0]);
//查询使用的SQL语句
******** 三表查询 string sql = string.Format("select StudentID, StudentName,StudentNo,Phone,Address,UserState,ClassName from Student inner join UserState on erStateId = erStateId inner join Class on Student.ClassID = Class.ClassID where Student.StudentName like '%{0}%'",txtName.Text.Trim());
try
{
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
//打开数据库
DBHelper.connection.Open();
//执行模糊查询命令
SqlDataReader dataReader = command.ExecuteReader();
//判断是否查询到结果
********* if (!dataReader.HasRows)
{
MessageBox.Show("对不起,没有查到您想要的结果!", "操作提示", MessageBoxButtons.OK, rmation); //没有查询到提示信息
txtName.Text = ""; //清空文本框
}
else
{
//循环查询数据,并添加到ListView中
********** while (dataReader.Read())
{
//创建一个ListView项
ListViewItem item = new ListViewItem();
//将StudentID绑定到Tag中
item.Tag = (int)dataReader["StudentID"];*******
//绑定ListView中的第一项
item.Text = dataReader["StudentName"].ToString();*********
//向ListView中添加一个新项
lvStudents.Items.Add(item);
//给当前项中添加子项
item.SubItems.AddRange(new string[] { dataReader["StudentNo"].ToString(), dataReader["Phone"].ToString(), dataReader["Address"].ToString(), dataReader["UserState"].ToString(), dataReader["ClassName"].ToString() });
}
dataReader.Close(); //关闭dataReader
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHelper.connection.Close(); //关闭数据库连接
}
12: ContextMenuStrip右键菜单键
//判断用户是否选中ListView中的某行
********** if (lvStudents.SelectedItems.Count == 0)
{
MessageBox.Show("您没有选中任何学员!", "系统提示", MessageBoxButtons.OK, rmation);
}
else
{
//判断是否删除选中项
DialogResult result = MessageBox.Show("确认要删除此项数据么?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
//如果确认删除
if (result == DialogResult.OK)
{
//删除数据使用的SQL语句
********* string sql = string.Format("Delete from Student where StudentID = {0}", (int)lvStudents.SelectedItems[0].Tag);
//修改数据使用的SQL语句
********* string sql = string.Format("Update Student SET UserStateID = 0 where StudentId = {0}",(int)lvStudents.SelectedItems[0].Tag);
//影响的行数
int rows = 0;*********必须放在这儿
try
{
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
//打开数据库
DBHelper.connection.Open();
//执行修改状态为活动命令
rows = command.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
DBHelper.connection.Close(); //关闭数据库连接
}
//判断是否修改成功或者修改成功!
if (rows < 0)
{
MessageBox.Show("删除失败!", "系统提示", MessageBoxButtons.OK, rmation);
}
else
{
MessageBox.Show("删除成功!", "系统提示", MessageBoxButtons.OK, rmation);
GetStudent(); //调用向ListView中重新填充数据的方法
}
13:DataAdapter与DataSet
DataSet dataSet = new DataSet(); //声明并初始化DataSet
SqlDataAdapter dataAdapter; //声明DataAdapter
14:DataGridView控件 绑定数据列(DataPropertyName) 选中一行(SelectionMode -- FullRowSelect)
开头的*是否显示 (RowHeadersVisible) 标题文本(HeaderText) 只读(ReadOnly)
//清空原来的数据
dataSet.Tables["CarsInfo"].Clear();
//查询使用的SQL语句
string sql = "select CarsId,ClassName from CarsInfo"
//初始化DataAdapter
dataAdapter = new SqlDataAdapter(sql, DBHelper.connection);
//填充DataSet
dataAdapter.Fill(dataSet, "CarsInfo");
//当查到信息时
if (dataSet.Tables["CarsInfo"].Rows.Count != 0)*******
{
//指定DataGridView的数据源
dgvCarsInfo.DataSource = dataSet.Tables["CarsInfo"];
}
else
{
MessageBox.Show("没有满足条件的信息!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
********* //DataGridView中点击某行显示详细信息 并获取这行的ID
//打开数据库连接
DBHelper.connection.Open();
//获取选中行的ID
*********** int id = Convert.ToInt32(dgvTicket.SelectedRows[0].Cells[0].Value);
//查询使用的SQL语句
string sql = string.Format("select * from Ticket where TrainId = {0}", id);
//创建Command对象
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
//执行查询语句
SqlDataReader dataReader = command.ExecuteReader();
//循环读取数据并添加
while (dataReader.Read())
{
txtLeave.Text = (string)dataReader["LeaveCity"]; //始发站
txtArrive.Text = (string)dataReader["ArriveCity"]; //终点站
txtTime.Text = Convert.ToString(dataReader["LeaveTime"]); //开车时间
txtSeatPrice.Text = Convert.ToString(dataReader["SeatPrice"])
; //硬座票价
txtBedPrice.Text = Convert.ToString(dataReader["BedPrice"]); //卧铺票价
}
dataReader.Close(); //关闭dataReader
gbTicket.Visible = true; //显示GroupBox
15:保存按钮的方法
//保存修改按钮事件
DialogResult result = MessageBox.Show("确定要保存修改吗?", "操作提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
//如果确定要保存修改
if (result == DialogResult.OK)
{
//自动生成用于修改的Command命令
SqlCommandBuilder builder = new SqlCommandBuilder(dataAdapter);
//将数据集中Student表的数据提交给数据库更新
dataAdapter.Update(dataSet, "Student");
}
16: //清空所有数据
foreach (Control ctl in this.gbStudent.Controls)
{
if (!(ctl is Label))
{
ctl.Text = "";
}
}