黑马程序员技术交流社区

标题: WinForm程序中Button控件默认鼠标点击,如何让其识别回车键 [打印本页]

作者: xt654005440    时间: 2013-8-5 16:00
标题: WinForm程序中Button控件默认鼠标点击,如何让其识别回车键
本帖最后由 xt654005440 于 2013-8-6 10:41 编辑

RT:WinForm程序中Button控件默认鼠标点击,如何让其识别回车键;我要使用回车键(或者其他的按键)也可以执行操作?
作者: sxdxgzr@126.com    时间: 2013-8-5 16:50
重写button的keydown方法,自己指定响应的快捷键。
作者: wang100753    时间: 2013-8-5 17:23
两种方法:

1.在pictureBox1的MouseDown事件里得到坐标:

private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
int x = e.X;
int y = e.Y;
}

//x,y就是相对pictureBox1的坐标

2.先得到相对于屏幕的坐标,然后通过pictureBox1.PointToClient()转换到相对于pictureBox1的坐标:

Point mx = MousePosition;
Point mx2 = pictureBox1.PointToClient(mx);

//mx2就是相对pictureBox1的坐标
作者: 彭家贰小姐    时间: 2013-8-5 19:29
我也没用WPF做过项目,我刚试了简单的小程序:
登录界面,刚开始鼠标定位在帐号输入框,按下回车键自动到密码输入框,再按下回车键自动定位到登录按钮

重点代码
  1. <Grid>
  2. <TextBlock HorizontalAlignment="Left" Margin="23,47,0,0" TextWrapping="Wrap" Text="帐号" VerticalAlignment="Top" RenderTransformOrigin="0.436,-0.75"/>
  3. <TextBox Name="txtAccount" HorizontalAlignment="Left" Height="23" Margin="100,44,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="156" KeyDown="txtAccount_KeyDown"/>
  4. <TextBlock HorizontalAlignment="Left" Margin="23,93,0,0" TextWrapping="Wrap" Text="密码" VerticalAlignment="Top"/>
  5. <PasswordBox Name="txtPassword" HorizontalAlignment="Left" Height="23" Margin="100,90,0,0" VerticalAlignment="Top" Width="156" KeyDown="txtPassword_KeyDown"/>
  6. <Button Name="btnLogin" Content="登录" HorizontalAlignment="Left" Margin="100,154,0,0" VerticalAlignment="Top" Width="75" Click="btnLogin_Click"/>
  7. <Button Name="btnCancel" Content="取消" HorizontalAlignment="Left" Margin="181,154,0,0" VerticalAlignment="Top" Width="75"/>
  8. </Grid>
复制代码
  1. private void winLogin_Loaded(object sender, RoutedEventArgs e)
  2. {
  3. txtAccount.Focus();
  4. }

  5. private void txtAccount_KeyDown(object sender, KeyEventArgs e)
  6. {
  7. if (e.Key == Key.Return)
  8. {
  9. txtPassword.Focus();
  10. }
  11. }

  12. private void txtPassword_KeyDown(object sender, KeyEventArgs e)
  13. {
  14. if (e.Key == Key.Return)
  15. {
  16. btnLogin.Focus();
  17. }
  18. }
复制代码
说明:
       KeyDown事件中可以:if (e.Key == Key.Return)你将断点定在此,可以看到你点击的键盘事件.貌似Key.Return就是回车键吧.
      




作者: 赵宗荣    时间: 2013-8-5 20:17
设置窗体的AcceptButton属性即可!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2