zoukankan      html  css  js  c++  java
  • DataGridView控件中添加DateTimePicker控件

    首先定义两个变量:

            DateTimePicker dtp = new DateTimePicker();  //实例化一个DateTimePicker控件
            Rectangle _Rectangle;

    然后添加如下代码:

            private void AddDateTimePicker(DataGridView dgv, int addColumnCount)
            {
                dgv.Controls.Add(dtp);  //将时间控件加入DataGridView
                dtp.Visible = false;  //先不显示
                dtp.Format = DateTimePickerFormat.Custom;  //设置日期格式,2017-11-11
                dtp.Checked = false;
                dgv.Columns[addColumnCount].ReadOnly = true;
    
                /*************时间控件选择时间时****************/
                dtp.TextChanged += (sender, e) =>
                {
                    dgv.CurrentCell.Value = dtp.Text.ToString();  //时间控件选择时间时,将时间内容赋给所在的单元格
                };
                /****************单元格被单击,判断是否是放时间控件的那一列*******************/
                dgv.CellClick += (sender, e) =>
                {
                    if (e.ColumnIndex == addColumnCount)
                    {
                        _Rectangle = dataGridView1.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); //得到所在单元格位置和大小
                        dtp.Size = new Size(_Rectangle.Width, _Rectangle.Height); //把单元格大小赋给时间控件
                        dtp.Location = new Point(_Rectangle.X, _Rectangle.Y); //把单元格位置赋给时间控件
                        dtp.Visible = true;  //显示控件
                    }
                    else
                        dtp.Visible = false;
                };
                /***********当列的宽度变化时,时间控件先隐藏起来,否则单元格宽高变化时时间控件无法跟着变***********/
                dgv.ColumnWidthChanged += (sender, e) =>
                {
                    dtp.Visible = false;
                };
                /***********滚动条滚动时,单元格位置发生变化,也隐藏时间控件,否则时间控件位置不动就乱了********/
                dgv.Scroll += (sender, e) =>
                {
                    dtp.Visible = false;
                };
            }
  • 相关阅读:
    python实现的最近最少使用算法
    GreaseMonkey渐进
    SICP 与函数式编程
    python实现的简单的epub2txt
    智能去除选定区域
    ubuntu下svn上传到google code
    视频数据编解码技术
    分享三个好用的装饰器
    ubuntu下访问E72
    如何组织文件
  • 原文地址:https://www.cnblogs.com/nanqinling/p/15584157.html
Copyright © 2011-2022 走看看