将 from1 设置 AcceptButton为 Button1 Button1 的事件如下:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("ok!");
}运行后,当用户按下 Enter 键不放时,会弹出很多个对话框.我想 按下 Enter 键不放时仍然显示一个对话框出来,要想显示下一个对话框必须松开键盘,然后再按 Enter 键 ,这种做法如何实现?
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("ok!");
}运行后,当用户按下 Enter 键不放时,会弹出很多个对话框.我想 按下 Enter 键不放时仍然显示一个对话框出来,要想显示下一个对话框必须松开键盘,然后再按 Enter 键 ,这种做法如何实现?
1. 禁用按钮
2. 用自己的message form. form.showDialog(). 不关掉这个,点不到后边任何东西
button1.Enable=false;
松开键盘,然后再按 Enter 键 没有执行任何代码啊?因为button1.Enable=false;
private void button1_Click(object sender, EventArgs e)
{ MessageForm form = new MessageForm();
form.ShowDialog();
}
private void button1_Click(object sender, EventArgs e)
{
……这里执行一段代码
} 运行后,当用户按下 Enter 键不放时,会多次执行button1的事件代码. 我想 按下 Enter 键不放时只执行button1的事件代码一次,要想再执行button1的事件代码必须松开键盘,然后再按 Enter 键 ,这种做法如何实现?
根本的屏蔽了多次 Enter 的问题。 而且,规范。 更利于你自己对messaogebox的改造。
但我觉得楼上那个方法确实更规范人性一些。
<input type="submit" name="bt_Submit" value="提交回复" id="bt_Submit" class="button" />
<script type="text/javascript"> //<![CDATA[
document.getElementById("tb_ReplyBody___Editor").style.width = "700px";
try { document.domain = "csdn.net" } catch (ex) { };
document.getElementById("bt_Submit").onclick = function() {
setTimeout(function() {
var btn = document.getElementById("bt_Submit");
btn.disabled = true;
setTimeout(function() { btn.disabled = false }, 10000);}, 10);
}
//]]></script>
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("ok!");
}
那么意味这你按住Enter不放时,不断的执行弹出messagebox,关闭messagebox这样一个循环的过程。不会生成多个messagebox如果是
private void button1_Click(object sender, EventArgs e)
{
Form f = new Form();
f.Show();
} 那当f show出来以后,焦点就到f上了,也不会继续响应Enter了。
这个最容易
构造函数,,,来个 参数! 方便 任何窗体可调用!
private void button1_Click(object sender, EventArgs e)
{
button1.Enable=false;
MessageBox.Show("ok!");
button1.Enable=true;
}
button1.Enable=false;楼上的这个方法就可以啊
{
……执行代码
button1.Enable=false; }private void Form1_KeyUp(object sender, KeyEventArgs e)
{
button1.Enable=true;
}