Enter实现Datagridview逐单元格编辑

新建一个用户控件,把代码复制进去,生成,就可以做成dll文件,后面要使用直接在项目里添加引用

代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace UserControl
{
    public partial class CCDataGridView : DataGridView
    {

        bool _isFill=true;
        bool _isEditOnEnter = true;


        public CCDataGridView()
        {
            InitializeComponent();
        }


        /// <summary>
        /// 判断是否把DG中的最后一行FILL整个窗体。默认值为True;
        /// </summary>
        [Description("判断是否把DataGridView中的最后一列Fill整个窗体。默认值为True")]
        public bool IsFillForm
        {
            get
            {
                return _isFill;
            }
            set
            {
                _isFill = value;
            }
        }


        /// <summary>
        /// 是否将DataGridView的编辑模式设为EditOnEnter。默认值为True
        /// </summary>
        [Description("是否将DataGridView的编辑模式设为EditOnEnter。默认值为True")]
        public bool IsEditOnEnter
        {
            get
            {
                return _isEditOnEnter;
            }
            set
            {
                _isEditOnEnter = value;
                if (_isEditOnEnter)
                {
                    this.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnEnter;
                }
                else
                {
                    this.EditMode = System.Windows.Forms.DataGridViewEditMode.EditOnKeystrokeOrF2;
                }
            }
        }


        protected override void OnPaint(PaintEventArgs pe)
        {
            if (IsFillForm)
            {
                //调整最后一列的宽度使其占据DataGridView的剩余部分




                //for (int i = this.ColumnCount - 1; i >= 0; i--)
                //{
                //    if (this.Columns[i].Visible)
                //    {


                //        this.Columns[i].MinimumWidth = 5;


                //        this.Columns[i].AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.NotSet;
                //        break;
                //    }
                //}
            }
            // 调用基类 OnPaint
            base.OnPaint(pe);
        }
        
        //显示行号
        privat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值