c# – 多次单击按钮时如何防止挂起应用程序?
发布时间:2020-12-16 01:27:46 所属栏目:百科 来源:网络整理
导读:我有一个应用程序,用户可以单击扫描按钮扫描图像以在应用程序中预览.当用户点击时,通常会显示“准备扫描”消息,并在扫描完成100%时消失. 扫描工作正常.问题是,如果我在执行它的过程中多次按下扫描按钮进行压力测试,应用程序完全挂起,消息就会停留在那里,我
我有一个应用程序,用户可以单击扫描按钮扫描图像以在应用程序中预览.当用户点击时,通常会显示“准备扫描”消息,并在扫描完成100%时消失.
扫描工作正常.问题是,如果我在执行它的过程中多次按下扫描按钮进行压力测试,应用程序完全挂起,消息就会停留在那里,我不得不重新启动整个应用程序. 代码:这只是一小部分 private void ScanStripButton_Click(object sender,EventArgs e) { if (SCAN_INTO_BATCH) { GENERATE_BATCH_FOLDER = true; StartTwainScan(); } } 关于如何防止这个问题的任何想法? 编辑: public void StartTwainScan() { Boolean EnableUI = false; Boolean ADF = false; Boolean EnableDuplex = false; if (Properties.Settings.Default.TwainShow.Equals("1")) { EnableUI = true; } if (Properties.Settings.Default.ScanType.Equals("2")) { ADF = true; } if (Properties.Settings.Default.DuplexEnable.Equals("1")) { EnableDuplex = true; } var rs = new ResolutionSettings { Dpi = GetResolution(),ColourSetting = GetColorType() }; var pg = new PageSettings() { Size = GetPageSize() }; var settings = new ScanSettings { UseDocumentFeeder = ADF,ShowTwainUI = EnableUI,ShowProgressIndicatorUI = true,UseDuplex = EnableDuplex,Resolution = rs,Page = pg }; try { TwainHandler.StartScanning(settings); } catch (TwainException ex) { MessageBox.Show(ex.Message); //Enabled = true; //BringToFront(); } } 解决方法
这不是正确的答案,但是您没有显示足够的代码来为您提供正确的代码.它应该指向正确的方向.
private void ScanStripButton_Click(object sender,EventArgs e) { ScanStripButton.Enabled = false; if (SCAN_INTO_BATCH) { GENERATE_BATCH_FOLDER = true; StartTwainScan(); } ScanStripButton.Enabled = true; } 基本上,您在扫描开始时禁用按钮,并在完成时启用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解
- 详解Vue路由History mode模式中页面无法渲染的原因及解决
- c – 如何从std :: deque释放内存?
- ruby-on-rails-4 – 如何在rails 4中为Sass启用源地图?
- ajax post data数据传值分析
- c# – asp.net核心数据保护:反序列化令牌时抛出异常
- postgresql – SQL子查询在检查约束
- 我可以编程一个ingenico / verifone终端来做我想做的事吗?
- Sqlite 创建触发器(删除)
- PostgreSQL 9 Administration Cookbook(第2版)中文版发布