请问这种效果怎么实现

zhangjianbo03642 2008-03-10 02:55:54
一个TextBox,一个DataGridView如果你在TextBox输入了值,DataGirdView显示数据(比方说5条)你按键盘的上下键。就可以进入DataGridView上下行中,如果你没有按上下键,而是输入字母或者数字。则操作的是TextBox的值。这种效果。谢谢
...全文
117 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangjianbo03642 2008-03-10
  • 打赏
  • 举报
回复
还有9楼的我也实现的这种效果,可是得按两下才可以进去的。你在试试看看
zhangjianbo03642 2008-03-10
  • 打赏
  • 举报
回复
大家好。我好像没说清楚。我的TextBox是用来查询的。DataGridView是显示查询的。Tab我也知道。不过不是我想要的。4楼的可能是我想要的。我试下
feixiangzaici 2008-03-10
  • 打赏
  • 举报
回复
这个是焦点问题,你想对哪个控件进行操作,你可以让它获得焦点!
lsj_zrp 2008-03-10
  • 打赏
  • 举报
回复
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if ((this.ActiveControl is DataGridView) == false)
{
if ((keyData == Keys.Up || keyData == Keys.Down))
{
this.dataGridView1.Focus();
return true;
}
else
{
this.textBox1.Focus();
return base.ProcessCmdKey(ref msg, keyData);
}
}
else
{
this.textBox1.Focus();
return base.ProcessCmdKey(ref msg, keyData);
}
}
不过效果不理想
主要是红色部分导致的
h_w_king 2008-03-10
  • 打赏
  • 举报
回复
TextBox的Keyup 或 Keydown 事件.判断是否是上下键. 是则处理 DataGridView
Magic_YJL 2008-03-10
  • 打赏
  • 举报
回复
我刚才已经试过了,我上面的代码应该满足楼主的要求了吧?
xvyifu 2008-03-10
  • 打赏
  • 举报
回复
3楼正解。焦点问题50分。。。唉!来晚了。
Magic_YJL 2008-03-10
  • 打赏
  • 举报
回复
呵呵,楼主的意思是通过代码实现吧?
那个TextBox里面的内容和DataGridView中的内容有关系么?
还是只是单纯的你说的,只要按向下或者向上键,就进入到DataGridView上下行中?

可以在TextBox的KeyDown事件里写代码,如下:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Up)
{
this.dataGridView1.Select();
}
}
lsj_zrp 2008-03-10
  • 打赏
  • 举报
回复
把这个拷到你的代码里看看可不可以
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if ((this.ActiveControl is DataGridView) == false)
{
if ((keyData == Keys.Up || keyData == Keys.Down))
{
this.dataGridView1.Focus();
return true;
}
else
{
this.textBox1.Focus();
return base.ProcessCmdKey(ref msg, keyData);
}
}
else
{
return base.ProcessCmdKey(ref msg, keyData);
}
}
nisnow 2008-03-10
  • 打赏
  • 举报
回复
Tab这么简单都不用.
zhangjianbo03642 2008-03-10
  • 打赏
  • 举报
回复
楼上的大哥。我满心欢喜的看到了这么大的一个顶字
bing0804 2008-03-10
  • 打赏
  • 举报
回复
ding

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧