现在的位置: 首页 > 综合 > 正文

C#常用代码

2012年12月02日 ⁄ 综合 ⁄ 共 3695字 ⁄ 字号 评论关闭

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("删除成功!");
                    }
                }

抱歉!评论已关闭.