C#WinForm中如何实现长摁一个按钮button实现循环执行一个操作,放开就停止执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#WinForm中如何实现长摁一个按钮button实现循环执行一个操作,放开就停止执行相关的知识,希望对你有一定的参考价值。

RT,我只会button的单击事件,长摁按钮的话试过在MouseDown事件下用while(true)来实现,但是会未响应,不知道怎么样实现这样的功能。

做一个Timer,MouseDown里开启Timer,在Timer的触发事件里做处理,不用循环,设定多久执行一次就好。在MouseUp里关闭Timer。 参考技术A 你可以在 按钮的鼠标按下事件中 新建一个线程 ... 在新线程中执行 ....
在 按钮的鼠标弹起事件 中止线程
参考技术B 理想状态下 ,按住按钮 程序一直执行,
前提
1 程序优化足够快,2客户端的电脑配置非常高,3服务器的配置也非常好

实际上不能做到,等同于死循环

最终结果就是程序不响应!

换个思路吧!
参考技术C 可以实现的啊

C#-WinForm-弹窗提示框-如何知道用户点击的是哪个按钮?

MessageBox.Show() 有21个重载

常用的弹窗提示框

1、一个参数,弹窗只有一个选项

2、三个参数,第一个参数是设置弹窗消息框中的文字内容;第二个参数是设置弹窗标题栏中显示的文本;第三个参数是指定消息框中显示哪些按钮

比如:

(李献策lxc)

那么如何知道用户是点击的“确定”还是“取消”呢?

MessageBox.Show() 返回一个DialogResult值

private void button1_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("我是小飞机!", "我会飞!", MessageBoxButtons.OKCancel);

            if (dr == DialogResult.OK)
            {
                button1.Text = "确定按钮";
            }
            else if (dr == DialogResult.Cancel)
            {
                button1.Text = "取消了!";
            }
        }
接收用户点击的按钮

 

以上是关于C#WinForm中如何实现长摁一个按钮button实现循环执行一个操作,放开就停止执行的主要内容,如果未能解决你的问题,请参考以下文章

C#Winform如何实现点击按钮变色

在c#winform中如何做出导航菜单,其效果如下图:

C#,winform中如何屏蔽右上角的X关闭按钮

C#的winform中如何实现按钮闪烁发光?

如何样在C#winform中用按钮控制图片的放大与缩小,就是两个按钮一个放大一个缩小

C#-WinForm-弹窗提示框-如何知道用户点击的是哪个按钮?