四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

WinForm二三事(二)

監(jiān)視消息循環(huán)

上一篇文章中,我們討論了消息循環(huán)是響應(yīng)用戶輸入的根本,還提到了在WinForm中執(zhí)行耗時(shí)操作是因?yàn)檫@個(gè)耗時(shí)操作與消息循環(huán)在同一個(gè)UI Thread上,導(dǎo)致不能處理用戶的后續(xù)響應(yīng),造成程序假死。除此之外,還說(shuō)到了Form中的WndProc方法,說(shuō)這個(gè)方法就是Win32時(shí)代那個(gè)處理消息的方法的.NET版。

那么今天這篇文章我們就來(lái)編個(gè)小程序來(lái)模擬一下這個(gè)耗時(shí)操作,看看是不是如上一篇所說(shuō):耗時(shí)操作造成消息循環(huán)的臨時(shí)中斷不能響應(yīng)用戶后續(xù)輸入。

程序很簡(jiǎn)單,就是一個(gè)簡(jiǎn)單的窗體,上面放置一個(gè)按鈕,按鈕里有一個(gè)Thread.Sleep(50*1000)模擬耗時(shí)操作:

public partial class LongTimeForm : Form
{
    public LongTimeForm()
    {
        InitializeComponent();
        Debug.Listeners.Add(new ConsoleTraceListener());
    }
 
    private void btnLongTime_Click(object sender, EventArgs e)
    {
        Thread.Sleep(50 * 1000);
    }
 
    //既然這個(gè)WndProc是Win32中處理消息的方法的.NET版,那么我們應(yīng)該在這里可以監(jiān)視到所有用戶操作的“消息”
    protected override void WndProc(ref Message m)
    {
        Debug.WriteLine(m.Msg.ToString());
        base.WndProc(ref m);
    }
}

NET技術(shù)WinForm二三事(二),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 赵凯的个人资料| 黄金比例身材| 北京1号线地铁站点线路图| 网页版抖音| 舞出我的人生| 电视剧《流金岁月》演员表| 贝的故事教案设计优秀教案| 郑荣植个人资料| 美国电影《贵夫人》| 小镇姑娘高清在线观看| department什么意思| 日韩在线日韩| 韩国电影《爱欲》| 暴走财神1| 改变自己吉他谱| 实时| coralie| 东方电视台节目表今日节目| 5年级英语上册单词| 色在线视频观看| 小娘惹第二部电视剧免费观看| 天下第一楼结局| 2024年月历| 电影林海雪原| 林东升| 电视剧瞧这一家子演员表| 哥哥啊啊啊| 色域在线| 礼佛大忏悔文简书| 黄海冰主演电视剧大全| 吉他谱子| 徐冲| 埃尔南电影| 合作协议书合同| 法政先锋2| 上锁的房间演员表| 乐事薯片软文推广| 金奎丽| 少妇bbbbbbb| 桐谷| 教师政治学习笔记|