国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

WinForm實(shí)現(xiàn)頁面按鈕定時隱藏功能

2020-01-24 00:39:31
字體:
供稿:網(wǎng)友

本文實(shí)例講述了WinForm實(shí)現(xiàn)頁面按鈕定時隱藏功能。分享給大家供大家參考,具體如下:

有時候在做程序時需要將頁面上某一項(xiàng)顯示出來,然后過一段時間后消失掉,這時可以通過timer定時來實(shí)現(xiàn)

private void Form1_Load(object sender, EventArgs e){  System.Timers.Timer t = new System.Timers.Timer(3000);  t.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);  t.Enabled = true;  t.AutoReset = false;}

然后在OnTimedEvent事件中寫入相應(yīng)的代碼,列如:label1.Visible = false;此時會發(fā)現(xiàn)這兩個不是同一個線程,因此我們需要用委托delegate來實(shí)現(xiàn)跨線程

定義一個委托

private delegate void SetVisibleCallback();//在給label1.visible賦值的地方調(diào)用以下方法即可private void SetVisible(){  // InvokeRequired需要比較調(diào)用線程ID和創(chuàng)建線程ID  // 如果它們不相同則返回true  if (this.label1.InvokeRequired)  {    SetVisibleCallback d = new SetVisibleCallback(SetPan);    this.Invoke(d);   }   else   {    this.label1.Visible = false;   }}

此時在timer產(chǎn)生的事件中調(diào)用SetVisible()即可

private void OnTimedEvent(object sender, System.Timers.ElapsedEventArgs e){  SetPan();}

當(dāng)然,如果不用委托實(shí)現(xiàn),可以在OnTimedEvent事件中寫入

CheckForIllegalCrossThreadCalls = false;////避免跨線程的問題label1.Visible = false;

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《WinForm控件用法總結(jié)》、《C#窗體操作技巧匯總》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#常見控件用法教程》、《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《C#程序設(shè)計(jì)之線程使用技巧總結(jié)

希望本文所述對大家C#程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 拉孜县| 金寨县| 安平县| 灯塔市| 肥西县| 台北县| 类乌齐县| 伊春市| 兴仁县| 正镶白旗| 合水县| 太康县| 合山市| 汉川市| 湖北省| 临桂县| 三亚市| 保亭| 楚雄市| 梅州市| 明水县| 宣化县| 三穗县| 淄博市| 芷江| 广丰县| 渭南市| 克什克腾旗| 龙陵县| 海兴县| 台南县| 察隅县| 隆安县| 信阳市| 徐州市| 泰宁县| 信宜市| 治多县| 大余县| 信丰县| 泰安市|