怎么用Enter代替Tab?

UN_78 2004-06-08 11:10:10
在textbox及datagrid中怎么用Enter代替Tab呀,
请大家指教!

是不是在每个textbox中都用focus呀?

...全文
377 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
UN_78 2004-06-15
  • 打赏
  • 举报
回复
谢谢大家!
zhpsam109 2004-06-12
  • 打赏
  • 举报
回复
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode==(char)13)
{
SendKeys.Send("{Tab}");
}
}
timiil 2004-06-12
  • 打赏
  • 举报
回复
收藏慢慢看
云孤天 2004-06-12
  • 打赏
  • 举报
回复
private void Form1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar==(char)Keys.Enter)
{
SendKeys.Send("{TAB}");
}
}
chenyuming2004 2004-06-12
  • 打赏
  • 举报
回复
foreach(Control ct in this.Controls)
{
if(ct is TextBox)
{
MessageBox.Show(ct.Name);
}
}

判断TEXTBOX
UN_78 2004-06-10
  • 打赏
  • 举报
回复
顺便问一下,如何判断一个控件是textbox呢?
UN_78 2004-06-10
  • 打赏
  • 举报
回复
将这段代码加入窗体中
//重写ProcessCmdKey方法,用Enter键代替TAB键
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message
msg, System.Windows.Forms.Keys keyData)
{
if(keyData == Keys.Enter)
{
SendKeys.Send("{TAB}");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
这种方法可以实现使用Enter代替Tab,但是如果焦点在按钮上时,回车不能执行单击操作,请问那位大侠可以解决?

能否先判断是不是textbox控件,如果是就替换tab, 其他控件不用呢?
Samen168 2004-06-08
  • 打赏
  • 举报
回复
protected override void OnKeyDown(KeyEventArgs e)
{
if(e.KeyData = Keys.Enter)
{
base.OnKeyDown (new KeyEventArgs(Keys.Tab));
}
else
{
base.OnKeyDown(e);
}
}
chenyuming2004 2004-06-08
  • 打赏
  • 举报
回复
在WinForm中我试过
KeyCode
KeyValue
等全部是只读的
没法做。
chenyuming2004 2004-06-08
  • 打赏
  • 举报
回复
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyCode==Keys.Enter)
{
SendKeys.Send("{tab}");
}
}
用这个看看能不能满足你的需求。
UN_78 2004-06-08
  • 打赏
  • 举报
回复
我是想在winform中实现,
UN_78 2004-06-08
  • 打赏
  • 举报
回复
这段代码写在何处呀,那个事件中?
孟子E章 2004-06-08
  • 打赏
  • 举报
回复
http://dotnet.aspx.cc/exam/enter2tab.aspx
孟子E章 2004-06-08
  • 打赏
  • 举报
回复
onkeydown="if(event.keyCode==13) event.keyCode=9"
孟子E章 2004-06-08
  • 打赏
  • 举报
回复
onkeydown="event.keyCode=9"
wang7655 2004-06-08
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3057/3057166.xml?temp=.6613428
这个是别人写给我的,你自己看看
wang7655 2004-06-08
  • 打赏
  • 举报
回复
将这段代码加入窗体中
//重写ProcessCmdKey方法,用Enter键代替TAB键
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message
msg, System.Windows.Forms.Keys keyData)
{
if(keyData == Keys.Enter)
{
SendKeys.Send("{TAB}");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
zxkid 2004-06-08
  • 打赏
  • 举报
回复
将窗体的KeyPreview 设置为True,然后在Form_KeyPress事件中写入:
if (e.KeyCode == Keys.Enter)
SendKeys.Send("{Tab}");
yuxiaodong790909 2004-06-08
  • 打赏
  • 举报
回复
将窗体的KeyPreview 设置为True,然后用
if (e.KeyCode == Keys.Enter) SendKeys.Send("{Tab}");
UN_78 2004-06-08
  • 打赏
  • 举报
回复
hbzxf(阿好) :这种方法在winform中能实现吗,
加载更多回复(5)

111,125

社区成员

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

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

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