zoukankan      html  css  js  c++  java
  • 【原创】WinForm 模态对话框

    今天解决的一个问题,记录下,以备后用。

    问题描述:WinForm程序有超时自动退出功能,但是有些模态对话框不关掉的话会退出失败,原因(猜测):

    程序倒计时用的System.Windows.Forms.Timer,相应Tick事件,判断这个Timer在主UI线程上跑,所以模态对话框会阻止UI线程。

    问题解决思路:

    1.开始尝试用后台线程启模态对话框,不科学。

    2.新启一个System.Threading.Thread.Timer,设置一个全局变量 bool isCartTimeout, 这个后台的timer线程来监控 isCartTimeout, 如果是true,则跨线程去杀所有打开的form.

    遗留问题:

    SaveFileDialog如果开启,程序退出还是由问题,有待改进。

    程序代码稍后整理上传。

    -----

    还有就是今天复习了下Dispose和 set object = null 的区别

    简单区别如下:

    set object = null 意思是把占用的资源(内存释放),等待GC回收。

    Dispose 立即释放资源,并调用GC回收。

    以上只是初步认识,有待改进。

  • 相关阅读:
    指针理解
    http和https区别
    js 日历控件
    Linux 目录详解!(转)
    互换位置输出
    晨时跌荡起伏的心情
    c++冒泡排序
    游标使用
    防止Sql注入
    ssl加密原理
  • 原文地址:https://www.cnblogs.com/successliwei/p/5364415.html
Copyright © 2011-2022 走看看