C#常用代码

来源:互联网 发布:烟花算法引论pdf网盘 编辑:程序博客网 时间:2024/06/08 04:24

1.只能输入数字

if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8)            {                e.Handled=true;            }

2.确认是否删除按钮

MessageBoxButtons btn = MessageBoxButtons.YesNo;        DialogResult result;        result = System.Windows.Forms.MessageBox.Show("确定删除?", "提示信息", btn);        if (result == DialogResult.Yes)        {            Console.WriteLine("删除成功");        }

3.给cbo添加一个空项

DataSet ds = sb.GetChildDept(id);                DataRow dr = ds.Tables[0].NewRow();                dr[0] = "";                ds.Tables[0].Rows.InsertAt(dr,0);                cboItemName.ValueMember = "ID";                cboItemName.DisplayMember = "DeptName";                cboItemName.DataSource = ds.Tables[0];

4.dgv样式设置

this.dgvDept.EnableHeadersVisualStyles = false;            this.dgvDept.ColumnHeadersDefaultCellStyle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(227)))), ((int)(((byte)(239)))), ((int)(((byte)(255)))));            this.dgvDept.AutoGenerateColumns = false;            this.dgvDept.Columns.Clear();            Dictionary<string, string> dataText = new Dictionary<string, string>();            dataText.Add("DeptNO","部门编号");            dataText.Add("DeptName","部门名称");            dataText.Add("Phone","部门电话");            dataText.Add("Manager","部门经理");            dataText.Add("Deputy","部门副经理");            dataText.Add("Remark","备注");            foreach (KeyValuePair<string, string> kvp in dataText)            {                DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();                dgvc.DataPropertyName = kvp.Key;                dgvc.HeaderText = kvp.Value;                dgvc.Name = kvp.Key;                dgvc.ReadOnly = true;            //    dgvc.DefaultCellStyle.Alignment=(kvp.Value == "部门电话") ? System.Windows.Forms.DataGridViewContentAlignment.MiddleRight : System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;                dgvc.HeaderCell.Style.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;//居中                dgvc.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;                if (kvp.Value == "部门编号" || kvp.Value == "部门名称" || kvp.Value == "部门电话"||kvp.Value=="部门经理"||kvp.Value=="部门副经理")                    dgvc.Width=116;                if (kvp.Value == "备注")                    dgvc.Width = 210;                this.dgvDept.Columns.Add(dgvc);            }


5.c#中的datetimepicker完整显示年月日时分秒

① CustomFormat属性设置为: yyyy-MM-dd HH:mm:ss② 记住还要修改一个属性值,Format属性 可选项改为Custom ,默认是Long


6.dgv添加行的问题

for (int i = 0; i < 5; i++)            {                dgv.Rows.Add();                DataGridViewRow row = dgv.Rows[i];                row.Cells["DeptNO"].Value = "DeptNO";                row.Cells["DeptName"].Value = "DeptName";                row.Cells["Phone"].Value = "Phone";                row.Cells["Manager"].Value = "Manager";                row.Cells["Deputy"].Value = "Deputy";                row.Cells["Remark"].Value = "Remark";            }


7.dgv赋值问题

dgvDetails2.Rows[i].Cells["Task"].Value="字符串"  //不论是否为空

8.dgv行清除问题

 while (dgv.Rows.Count > 1)            {                dgv.Rows.RemoveAt(0);            }            dgv.Refresh();

 DataTable table = new DataTable();            table.Rows.Clear();            dgv.DataSource = table;            dgv.Refresh();//这样的话不能直接赋值了 只能绑定数据库了

9.dgv列隐藏

this.dataGridView1.Columns["CustomerID"].Visible = false;


10.DataGridView多行显示

第一、设置RowsDefaultCellStyle的WrapMode属性值为true(表示支持多行显示)
第二、设置AllowUserToResizeColumns属性值为true(表示用户拉大行高)
第三、设置AutoSizeRowsMode属性值为AllCells(表示所有单元格自动调节单元格高度),属性值为DisplayedCells(表示当前单元格自动调节高度,可以提高性能。)   

11.dataGridView最左侧空列的设定

dataGridView1.RowHeadersWidth = 60;    //设定左侧空列的宽度dataGridView1.RowHeadersVisible = false;   //隐藏空列,使不可见


12.dgv最左边一列添加行号

for (int i = 1; i <= dgv.RowCount; i++)            {                this.dgv.Rows[i - 1].HeaderCell.Value = i.ToString();            }

13.dgv鼠标右键行复制

  dgv.ContextMenuStrip = this.contextMenuStrip1;                dgv.Columns[0].ContextMenuStrip = this.contextMenuStrip1;                dgv.Columns[0].HeaderCell.ContextMenuStrip = this.contextMenuStrip1;                dgv.Rows[0].ContextMenuStrip = this.contextMenuStrip1;                dgv[0, 0].ContextMenuStrip = this.contextMenuStrip1;                if (e.Button == MouseButtons.Right)                {                    if (e.RowIndex >= 0)                    {                        //选中一行                        if (dgv.Rows[e.RowIndex].Selected == true)                        {                            for (int i = 0; i < dgv.SelectedCells.Count; i++)                            {                                dgv.CurrentCell = dgv.Rows[e.RowIndex].Cells[i];                                str += dgv.CurrentCell.Value.ToString() + " ";                            }                        }                        else                        {                            dgv.CurrentCell = dgv.Rows[e.RowIndex].Cells[e.ColumnIndex];                            str += dgv.CurrentCell.Value.ToString();                        }                    }                }
Clipboard.SetText(str);                str = "";

14 dgv删除一行或者多行

for (int i = this.dgv.SelectedRows.Count; i > 0; i--)                {                    int ID = Convert.ToInt32(dgv.SelectedRows[i - 1].Cells[0].Value);                    dgv.Rows.RemoveAt(dgv.SelectedRows[i - 1].Index);                    if (bll.Delete(ID))                    {                        MessageBox.Show("删除成功!");                    }                }