C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 多次单击按钮时如何防止挂起应用程序?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_301_6@ 我有一个应用程序,用户可以单击扫描按钮扫描图像以在应用程序中预览.当用户点击时,通常会显示“准备扫描”消息,并在扫描完成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;
}

基本上,您在扫描开始时禁用按钮,并在完成时启用它.

大佬总结

以上是大佬教程为你收集整理的c# – 多次单击按钮时如何防止挂起应用程序?全部内容,希望文章能够帮你解决c# – 多次单击按钮时如何防止挂起应用程序?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。