Winfrom知识点大集合

开发winfrom程序的小伙伴们都用的着,这有基本的增删改查注意事项
划分线----------------
创建窗体注意点:
1、命名 属性:Name 只要在代码里出现的控件,就必须按照规范命名
Label lbl
TextBox txt
Button btn
ComboBox cbo
DataGridView dgv
ListView lv
TreeView tv
RadioButton rdo
contextMenuStrip cms 右键菜单
GroupBox grp 分组框
MenuStrip ms 菜单项
ToolStripMenuItem tsmi
Panel pnl 面板
DateTimePicker dtp 时间控件
2、标题 属性:Text
3、子窗体在屏幕中央 startPosition:CenterScreen
4、子窗体禁止最大化 Maximinzed:false
5、子窗体禁止最小化 Miniminzed:false
6、子窗体大小固定不变 FormBorderStyle:fixedSingle
7、父窗体设置最大化 windowState:Maximized
8、父窗体设置MDI IsMDIContainer:true
9、下拉框不允许输入值 DropDownStyle:DropDownList
10、DataGridView只选中一行 MultiSelect:false
11、DataGridView选中整行 SelectionMode:FullRowSelect
12、DataGridView调整列的自动大小模式 AutoSizeColumsMode:Fill
13、DataGridView去掉最后一行 AllowUserToAddRows:False
14、DataGridView序号列去掉 RowHeadersVisible:False
15、DataGridView不自动生成列 DataGridView控件名.AutoGenerateColumns = false; //使用代码设置
16、DataGridView列设置货币格式 编辑列–DefaultCellStyle–format–货币
17、ListView选中整行 FullRowSelect : true

========================================================

弹出框
DialogResult result = MessageBox.Show(“要显示的字符串”,“消息框的标题”,MessageBoxButtons.OKCancel,MessageBoxIcon.Information);
if(result == DialogResult.OK){

}

========================================================
以子窗体打开
窗体名 窗体对象 = new 窗体名();
窗体对象.MdiParent = this;
窗体对象.Show(); 非模式化窗体
模式窗体打开
窗体名 窗体对象 = new 窗体名();
窗体对象.ShowDialog(); //总是在所有窗体的最前面

文本框 取值 this.控件名.Text;
清空 this.控件名.Text = “”;
单选按钮 判断选中 this.按钮名.checked;
清空 this.按钮名.checked=false;
时间控件 取值 this.控件名.Value;
清空 this.控件名.Value=DateTime.Now;
取值后的类型 DateTime

下拉框
获取value值 this.控件名.SelectedValue;
清空 this.控件名.SelectedIndex = 0;
初始化下拉框:四步骤 注意点:sql语句一定要把id和name一起查出来。要不然绑定时会失败
//1、编写sql语句
string sql = “select GradeId,GradeName from grade”;
//2、调用DBHelper类方法 返回DataSet
DataSet ds = DBHelper.GetDataSet(sql);
//3、添加请选择 (根据需求添加)
// 1、创建一行
DataRow row = ds.Tables[0].NewRow();
// 2、给隐藏和显示列添加数据
row[0] = -1;
row[1] = “全部”; //或者是“请选择”
// 3、把创建的行添加到DataSet的第一行中
ds.Tables[0].Rows.InsertAt(row,0);
//4、绑定数据
// 1、绑定数据源
this.控件名.DataSource=ds.Tables[0];
// 2、绑定隐藏值
this.控件名.ValueMember = “GradeId”;
// 3、绑定显示值
this.控件名.DisplayMember = “GradeName”;
获取下拉框隐藏值和文本
string text = this.cboGrade.Text; //文本
string value = this.cboGrade.SelectedValue.ToString(); //隐藏值

查询信息添加到DataGridView中
//1、编写sql语句
string sql = “select StudentName,Phone,Address from Student”;
//2、带条件模糊查询sql语句 (按需求)
if(!this.txtName.Text.Trim().Equals(string.Empty)){
sql += string.Format(" where StudentName like ‘%{0}%’ ", this.txtName.Text.Trim());
}
//3、调用DBHelper类的方法
DataSet ds = DBHelper.GetDataSet(sql);
//4、绑定数据源
this.DataGrideView控件名.DataSource = ds.Tables[0];

注意点:1、控件的DataPropertyName属性填写的内容必须跟数据库的字段完全一致
2、查询无返回记录ds.Tables[0].Rows.Count
3、获取选中行的Id,进行删除
this.DataGrideView控件名.SelectedRows[0].Cells[0].Value.ToString();
4、执行右键菜单,先判断是否有选中行
this.DataGrideView控件名.SelectedRows.Count > 0
=========================================================
查询信息到ListView中
//1、编写sql语句
string sql = “”;
//2、调用DBHelper类的方法
SqlDataReader reader = DBHelper.GetReader(sql);
//3、判读是否有数据
if(reader.HasRows){
//清空项
if(this.lvStudentInfo.Items.Count>0){
this.lvStudentInfo.Items.Clear();
}
//4、循环读取数据
while(reader.Read()){
//创建ListViewItem
ListViewItem lvi = new ListViewItem(reader[“StudentNo”].ToString());
//添加子项
lvi.SubItems.AddRange(new string[] { reader[“StudentName”].ToString(), reader[“Gender”].ToString(), reader[“GradeName”].ToString() });
//把项添加到ListView中
this.lvStudentInfo.Items.Add(lvi);
}
}
reader.Close();

查询信息到ListView中
//1、编写sql语句
string sql = “”;
//2、调用DBHelper类的方法
SqlDataReader reader = DBHelper.GetReader(sql);
//3、判读是否有数据
if(reader.HasRows){
//清空项
if(this.lvStudentInfo.Items.Count>0){
this.lvStudentInfo.Items.Clear();
}
//4、循环读取数据
while(reader.Read()){
//创建ListViewItem
ListViewItem lvi = new ListViewItem(reader[“StudentNo”].ToString());
//添加子项
lvi.SubItems.AddRange(new string[] { reader[“StudentName”].ToString(), reader[“Gender”].ToString(), reader[“GradeName”].ToString() });
//把项添加到ListView中
this.lvStudentInfo.Items.Add(lvi);
}
}
reader.Close();

注意点:1、清空ListView里面的内容 ListView控件名.Items.Clear();
2、查询记录数 ListView控件名.Items.Count
3、获取选中行的第一列
this.ListView控件名.SelectedItems[0].Text.ToString();
4、获取选中行的第二列
this.ListView控件名.SelectedItems[0].SubItems[1].Text.ToString()
5、是否被选中 ListView控件名.SelectedItems.Count>0

关闭窗体 this.Close(); 如果当前窗体为启动窗体,那么this.Close()也可以关闭整个程序
退出应退程序 Application.Exit();

循环清空
foreach(Control item in Controls)
{
if(item is TextBox)
{
item.Text = string.Empty;
}
}

判断是不是数字

string price= this.txtPrice.Text.Trim();
int num = 0;
if(!int.TryParse(price,out num)){
MessageBox.Show(“请输入数字”);
}
在页面加载的时候我们就要获取所有文本框控件,并添加回车事件
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Focus();
foreach (Control c in this.Controls) //使用循环获取页面中的所有控件
{
if (c is TextBox) //如果是TextBox控件,则添加事件
{
TextBox tb1 = c as TextBox;
c.KeyDown += new KeyEventHandler(Key_Down);
}
}
}
接着编写回车事件
private void Key_Down(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)
{
SendKeys.Send(“{Tab}”);//向活动应用程序发送击键
}
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值