如何在计时器或计时器中多次按键本机
本文关键字:计时器 本机 | 更新日期: 2023-09-27 18:19:37
private void timer1_Tick(object sender, EventArgs e){
if (Form.ModifierKeys == System.Windows.Forms.Keys.Control
&& Form.ModifierKeys == System.Windows.Forms.Keys.Enter)
my_translate(textbox1.text);
}
.
我试过了,但没有工作,我该怎么办?
我正在编写一个字典软件;用计时器检查确定按下的键,所以我翻译单词。我不能使用textBox1_KeyPress等,因为我从 .doc/.txt 获取文本,所以我需要计时器来获取文本。
//The code is working
private void timer1_Tick(object sender, EventArgs e){
MouseButtons aa = MouseButtons;
if (aa == MouseButtons.Middle && Form.ModifierKeys == Keys.Control)
my_translate();
}
.
我们有一个算法,用于计时器,当用户按下组合键时调用方法?
您当前的代码
if (Form.ModifierKeys == System.Windows.Forms.Keys.Control &&
Form.ModifierKeys == System.Windows.Forms.Keys.Enter)
表示"如果按下的键等于控制键,并且按下的键等于回车键"。这永远不会发生,因为如果只按下控制键,则不会按下回车键,反之亦然。
我相信你想要这个:
if (Form.ModifierKeys.HasFlag(Keys.Control) &&
Form.ModifierKeys.HasFlag(Keys.Enter))
这意味着"如果按下的键包括控制键和回车键"。
无论如何,您都不应该为此使用计时器。查看 Control.KeyPress 事件并改用该事件。您可以使用计时器加载文本文件,同时使用事件来处理按键。
我建议您阅读有关MSDN上的KeyPress事件的更多信息:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keypress.aspx