• C#语言知识积累


    (1)DGV中数据居中属性:
    属性-杂项-Columns-选定列-列属性-DefaultCellStyle-布局-Alignment-MiddleCenter
    (2)设置窗体的显示位置和大小
     
     //窗体加载事件
            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"
     
  • 相关阅读:
    修改Matlab 2012b默认工作路径
    win7,M​i​n​d​m​a​n​a​g​e​r​2​0​1​2使用模板时弹出Runtime error R6025解决方法
    Win7 Qt4.8.5+QtCreator2.8.0+mingw配置过程
    RabbitMQ介绍和延迟队列
    FastDFS介绍
    SpringMVC的工作流程
    spring mvc入参有Date类型
    spring 定时任务的 时间配置cron表达式
    Transactional介绍及使用
    spring cloud 集成rabbitMQ实现延时队列
  • 原文地址:https://www.cnblogs.com/zhangyonglvdaomei/p/3372854.html
Copyright © 2020-2023  润新知