//窗体加载事件 private void GetTime_Load(object sender, EventArgs e) { this.StartPosition = FormStartPosition.Manual;//先将其设置为“可手工调动的” this.Location = new Point(250, 250);//设置窗体的位置(坐标显示) this.Size = new Size(541, 219);//设置窗体的尺寸(坐标显示) }(3)属性设置: 窗体中全屏显示 WindowState : Maximized 窗体中控件和窗体一样大 Anchor : Top, Bottom, Left, Right(特别注意容器框的该属性设置) (4)在写程序时正常是使用
Cursor.Current = Cursors.WaitCursor; 和 Cursor.Current = Cursors.Default;
我之前一直都没注意
现在发现在等待时间比较长,中间光标还在转圈的时候
我一阵狂点其他按钮,居然是有反应的,点多了我造成我系统内存溢出(5)获取DGV中的单元格的列和行
//确定单元格的列 this.DGV_TeShuXuQiu.Columns[e.ColumnIndex].Name ="ShanChu"; this.DGV_TeShuXuQiu.CurrentCell.ColumnIndex ==3; //确定单元格的行 this.DGV_TeShuXuQiu.CurrentCell.RowIndex=1;(6)删除DGV中的某一行 this.DGV_TeShuXuQiu.Rows.RemoveAt(e.RowIndex);//删除行 (7)正则表达式
#region 身份证号码输入的控制 //TextBox事件 private void txtShenFenZhengHao_Leave(object sender, EventArgs e) { //*修改 标准身份证号正则表达式 if (Regex.IsMatch(txtShenFenZhengHao.Text, @"^(^d{15}$|^d{17}(d|X|x))$", RegexOptions.IgnoreCase)) { txtShenFenZhengHao.Text = txtShenFenZhengHao.Text.ToString().ToUpper(); } else { MessageBox.Show("请输入正确的身份证号!"); txtShenFenZhengHao.Focus(); } } #endregion(8)设置输入的形式,如只能输入数字
#region 控制txtShenFenZhengHao只能输入中文和英文 private void txtShenFenZhengHao_KeyPress(object sender, KeyPressEventArgs e) { NumberEnglish_Purview(txtShenFenZhengHao, e); } #region 控制只能输入英文和数字 public void NumberEnglish_Purview(TextBox TextBox, KeyPressEventArgs e) { if ((e.KeyChar >= 48 && e.KeyChar <= 57)) { e.Handled = false; } else if (e.KeyChar >= 65 && e.KeyChar <= 90) { e.Handled = false; } else if ((e.KeyChar >= 97 && e.KeyChar <= 122)) { e.Handled = false; } else if (e.KeyChar == 8) { e.Handled = false; } else { e.Handled = true; } } #endregion(9)正则表达式进行匹配
using System.Text.RegularExpressions; private void DGV_TeShuXuQiu_CellEndEdit(object sender, DataGridViewCellEventArgs e) { if (this.DGV_TeShuXuQiu.Columns[e.ColumnIndex].Name == "RenShu") { Regex objNotNumberPattern = new Regex("^\d{1}|\d{1}$");//正则表达式匹配两位数字 if (!objNotNumberPattern.IsMatch(this.DGV_TeShuXuQiu.CurrentRow.Cells["RenShu"].Value.ToString())) { MessageBox.Show("请输入1位或者2位数字!"); } } }(10)C#语言中发送电子邮件可以参考ERP中的DingDan_Operate中的提交事件中的SendMsg函数以及Common.public_method.SendStrMail (11)定义一个表,并给表添加列然后赋值。存入多个员工的ID和名称,然后再将dt_YuanGong_ID_Name中的值赋给DGV
private void tsBtn_QueDingXuanZe_Click(object sender, EventArgs e) { dt_HuShi_ID_Name = new DataTable(); //给表dt_HuShi_ID_Name添加字段 dt_HuShi_ID_Name.Columns.Add("YuanGongID", typeof(System.Int32)); dt_HuShi_ID_Name.Columns.Add("XingMing", typeof(System.String)); //给表中列赋值 for(int i=0;i<this.dgv_HuShiXinXi.Rows.Count;i++) { if ((bool)this.dgv_HuShiXinXi.Rows[i].Cells["XuanDing"].EditedFormattedValue == true) { DataRow rows = dt_HuShi_ID_Name.NewRow(); rows["YuanGongID"] = Convert.ToInt32(this.dgv_HuShiXinXi.Rows[i].Cells["YuanGongID"].Value.ToString()); rows["XingMing"] = this.dgv_HuShiXinXi.Rows[i].Cells["XingMing"].Value.ToString().Trim(); dt_HuShi_ID_Name.Rows.Add(rows); } } this.Close(); }
//给DGV赋值 DataTable dt_YuanGong_ID_Name = new DataTable(); dt_YuanGong_ID_Name=JiChuXinXi.UIL_JiChuXinXi.HuShiGuanLi_HuShiXinXi.dt_HuShi_ID_Name; for (int i = 0; i < dt_YuanGong_ID_Name.Rows.Count; i++) { this.DGV_PaiBan.Rows.Add(); this.DGV_PaiBan.Rows[i].Cells["HuShiMingCheng"].Value = dt_YuanGong_ID_Name.Rows[i]["XingMing"].ToString().Trim(); this.DGV_PaiBan.Rows[i].Cells["HuShiID"].Value = dt_YuanGong_ID_Name.Rows[i]["YuanGongID"].ToString().Trim(); }(12)复制一个字符串到另一个字符串,可以使用string的静态方法Copy 例如:
string dest = "Hello world";
string source = "Goodbye China";
char[] destArray = dest.ToCharArray();//将dest变成字符数组
source.CopyTo(8, destArray, 6, 5);//从source的第8个字符起复制5个字符并从destArray的第6个位置开始放
dest = new string(destArray);//这时dest为"Hello China"