2 baidu 28081035 baidu_28081035 于 2015.05.27 20:22 提问

c# winform中如何控制焦点。新人求教。

如何实现光标在文本框的,数据库的表格在按上下键时可以移动。就是下面这种情况。
图片说明

5个回答

guwei4037
guwei4037   Ds   Rxr 2015.05.27 22:47
已采纳
 private void textBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.Down)
            {
                this.dataGridView1.Rows[this.dataGridView1.CurrentRow.Index + 1 > this.dataGridView1.Rows.Count ? this.dataGridView1.Rows.Count - 1 : this.dataGridView1.CurrentRow.Index + 1].Selected = true;
            }

            if (e.KeyData == Keys.Up)
            {
                this.dataGridView1.Rows[this.dataGridView1.CurrentRow.Index - 1 < 0 ? 0 : this.dataGridView1.CurrentRow.Index - 1].Selected = true;
            }
        }
baidu_28081035
baidu_28081035 出现问题??我还是有疑问???前辈能不能再指点一番。
接近 3 年之前 回复
guwei4037
guwei4037   Ds   Rxr 2015.05.27 20:35

通过keycode获取按键,然后让datagridview的选中行索引改变。
http://blog.csdn.net/youyoulg/article/details/39120669

baidu_28081035
baidu_28081035 没说好,是光标总是在文本框,但是dataGridView上所在的行会随着我按上下键而移动。前辈能不能再说详解一下原因。
接近 3 年之前 回复
baidu_28081035
baidu_28081035 我dataGridView的表格的焦点和光标不能同时存在。
接近 3 年之前 回复
baidu_28081035
baidu_28081035 试了一下KeyUp,KeyDown 。可是我还是搞不好,那个光标在文本框不动且datatable的表格按上下键上下移动。能不能详解一下原因。
接近 3 年之前 回复
qq_16794101
qq_16794101   2015.05.27 23:17

通过keycode获取按键,然后让datagridview的选中行索引改变。
http://blog.csdn.net/youyoulg/article/details/39120669

baidu_28081035
baidu_28081035 他的光标我按了上下键,就这样了。该如何改???
接近 3 年之前 回复
baidu_28081035
baidu_28081035   2015.05.27 23:26

图片说明

suiyunonghen
suiyunonghen   2015.06.03 11:07

拦截KeyPress这类事件,通过事件中的按键信息来判定,如果是KeyUp或者KeyDown,就做移动处理,然后将按键设定为0

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!