当前位置: 首页 > news >正文

万宁网站建设淄博专业网站建设哪家专业

万宁网站建设,淄博专业网站建设哪家专业,长沙seo推广营销,沈阳市建设工程项目管理中心版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 20.3.9 解决下拉框恼人的点击 不知道读者有没有注意过,从下拉框单元格选择的时候,总共会点三下鼠标才能选中下…

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

20.3.9 解决下拉框恼人的点击

不知道读者有没有注意过,从下拉框单元格选择的时候,总共会点三下鼠标才能选中下拉框中的一个值:第一次选中单元格,第二次打开下拉框,第三次才能选中值。比一般的ComboBox选择多一个步骤。

要解决以上问题只需要方法很简单,当单元格获得焦点的时候(DataGridView.CellEnter 事件),发送“F4”按键值即可。

【例 20.18【项目:code20-018】减少下拉框点击。

请在【例 20.15】的基础上修改dgv_CellContentClick方法内的代码:

        private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)

        {

            if(dgv[e.ColumnIndex, e.RowIndex].GetType()==typeof( DataGridViewComboBoxCell))

            {

                SendKeys.Send("{F4}");

                return;

            }

        }

20.3.10 下拉框单元格改变其他单元格的值

如何实现从下拉框单元格的值改变后,更改其它列的值。很简单的实现,使用DataGridView.CellValueChanged事件即可,该事件会在单元格的值更改时发生。

【例 20.19【项目:code20-019】减少下拉框点击。

        private void Form1_Load(object sender, EventArgs e)

        {

            //在空白的DataGridView上增加一列

            DataGridViewTextBoxColumn newColumnTxt = new DataGridViewTextBoxColumn();

            newColumnTxt.HeaderText = "ID";

            newColumnTxt.Name = "ColumnText";

            dgv.Columns.Add(newColumnTxt);

            //设置3行数据

            for(int i = 1;i<= 3;i++)

            {

                int rowIndex = dgv.Rows.Add();

                dgv.Rows[rowIndex].Cells[0].Value = i;

            }

        //新增下拉框列

        DataGridViewComboBoxColumn newcolumnCb = new DataGridViewComboBoxColumn();

            newcolumnCb.HeaderText = "学校";

            newcolumnCb.Items.Add("第1中学");

            newcolumnCb.Items.Add("第2中学");

            newcolumnCb.Items.Add("第3中学");

            newcolumnCb.Name = "ColumnComboBox";

            dgv.Columns.Add(newcolumnCb);

        }

        private void dgv_CellEnter(object sender, DataGridViewCellEventArgs e)

        {

            if(dgv[e.ColumnIndex, e.RowIndex].GetType()==typeof( DataGridViewComboBoxCell))

            {

                SendKeys.Send("{F4}");

                return;

            }

        }

        //单元格的值更改时

        private void dgv_CellValueChanged(object sender, DataGridViewCellEventArgs e)

        {

            dgv[0, e.RowIndex].Value = dgv[e.ColumnIndex, e.RowIndex].Value;

        }

以上代码将在新增的下拉框列的值发生改变后,将第1列对应行的单元格的值修改为和它相同。

运行结果如下图所示:

图20-24 下拉框选择值后相应改变别的单元格

相信读者们很快会发现有这样一个问题:当下拉框更改了值,但是第一行数据不会立即改变,只有当下拉框所在单元格失去焦点后,第一列的值才和下拉框单元格的值一致。在Msdn中做了详细说明:DataGridView.CellValueChanged事件发生在的用户指定的值已提交,这通常发生在焦点离开该单元格时。

要实现在从下拉框选择后就立即更改另一列的值,就得用上DataGridView.CurrentCellDirtyStateChanged事件,当单元格被标记为已修改但尚未保存更改时发生。

请在【例 20.19】代码基础上增加以下代码:

        //当单元格被标记为已修改但尚未保存更改时发生

        private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e)

        {

            dgv[0, dgv.CurrentCell.RowIndex].Value = dgv.CurrentCell.EditedFormattedValue;

        }

并同时删除【例 20.19】中DataGridView.CellValueChanged事件的代码。

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

http://www.dtcms.com/a/425999.html

相关文章:

  • 网站打开速度规定多长时间深圳网站建设李天亮
  • 个人网站搭建详细步骤分类网站怎么做项目
  • 市场策划网站Wordpress上传万网空间
  • 主流做网站wordpress媒体库的目录错误
  • 做网站好找工作吗餐饮企业网站建设方案书
  • php网站如何做多语言网络设计师好找工作吗
  • 专门做财经的网站怎样下载字体到wordpress
  • nginx 做udp网站网站开发中效率较高的编程语言
  • 有做外贸个人网站在线制作图谱
  • 怎样建设那种游戏网站wordpress 特点
  • 用html5制作个人网站微信商城网站模板
  • 上海建设行政主管部门网站建设一个旅游网站的目的是什么
  • 网站程序是什么?无锡网络推广外包
  • 网站标签名词wordpress wp_redirect
  • 因网站开发需要网页设计入门模板
  • 手机建设银行新网站工程信息网排名
  • 网站开发的几个步骤织梦企业门户网站
  • 国外做的比较好的购物网站市场营销平台
  • 用cms建设网站课程宅门梧州网站建设哪家好
  • 网站公司云建站怎么样app001推广平台
  • 注册网站能赚钱吗asp.net 网站开发框架
  • 利用阿里云虚拟主机做网站全屋定制家具品牌排行榜前十名
  • app与网站网站 防攻击
  • 郑州做网站哪里便宜最有实权的十大部门
  • 个人网站做推广服装网站ui设计
  • 用ps怎么做网站的效果图电子商务具体干嘛的
  • 哪里可以制作网站针织衫技术支持东莞网站建设
  • 湖南做网站公司有哪些360浏览器网页打不开是什么原因
  • 简单的购物网站源码秀屿网站建设
  • 虚拟主机建网站苏州市网站建设