小工具知识网

当前位置: 首页 > 行业知识 > WPF 防止按钮Click时间多次点击响应

行业知识

WPF 防止按钮Click时间多次点击响应

2026-11-13 19:39:43 来源:互联网转载

可能不���最好的办法,但是用起来效果也还是可以的。

()

原理:通过IsEnabled属性来控制按钮状态。btnConfirm.IsEnabled  / this.IsEndbled 这两种方式是等价的。

案例比较简单,如果后期做开发的话代码量变大,只在结尾添加 this.IsEndbled = true ,逻辑上是有缺陷的。如果txtName为空是不是又要给IsEndbled = True 这样重新赋值。 如果是多个if条件呢这样的话会很繁琐。

()

所以我就用上了异常捕获

使用 try{    要执行的代码    }catch(Exception ex){    异常    }finally{    最后执行的代码    }

finally

当一个异常抛出时,它会改变程序的执行流程。因此不能保证一个语句结束后,它后面的语句一定会执行,在 C# 中这个问题可以用 finally 解决。

为了确保一个语句总是能执行(不管是否抛出异常),需要将该语句放到一个 finally 块中,finally 要么紧接在 try 块之后,要么紧接在 try 块之后的最后一个 catch 处理程序之后。只要程序进入与一个 finally 块关联的 try 块,则 finally 块始终都会运行 -- 即使发生了一个异常。

Xaml代码:

                                                                        

C#代码:

namespace WpfApplication1{    ///     /// MainWindow.xaml 的交互逻辑    ///     public partial class MainWindow : Window    {        public MainWindow()        {            InitializeComponent();        }        private void Button_Click_1(object sender, RoutedEventArgs e)        {            this.IsEnabled = false;            try            {                if (!string.IsNullOrEmpty(txtName.Text))                {                    MessageBox.Show("用户名称不能为空!");                    //this.IsEnabled = true;                    return;                }                for (int i = 0; i 

上一篇:PS字体渐变设计秘籍,轻松打造炫酷字体效果!

下一篇:SpringBoot远程过程调用RPC(WebClient、HTTP Interface客户端)