欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)延時(shí)并自動(dòng)關(guān)閉MessageBox的方法

 更新時(shí)間:2014年08月05日 11:58:34   投稿:shichen2014  
這篇文章主要介紹了C#實(shí)現(xiàn)延時(shí)并自動(dòng)關(guān)閉MessageBox的方法,非常實(shí)用的功能,需要的朋友可以參考下

我們?cè)贑#編程中常見(jiàn)的信息提示框(MessageBox)是微軟NET自帶的一個(gè)用于彈出警告、錯(cuò)誤或者訊息一類的“模式”對(duì)話框。此類對(duì)話框一旦開(kāi)啟,則后臺(tái)窗體無(wú)法再被激活(除非當(dāng)前的MessageBox被點(diǎn)擊或者關(guān)閉取消)。那么如何使用程序模擬鼠標(biāo)點(diǎn)擊這個(gè)messageBox(關(guān)閉這個(gè)MessageBox)令其延時(shí)并自動(dòng)關(guān)閉呢?答案是你在彈出這個(gè)messageBox之前先啟用一個(gè)定時(shí)器,定時(shí)器內(nèi)部不斷向窗體發(fā)送Enter按鈕用于模擬點(diǎn)擊MsgBox的內(nèi)容,同時(shí)主程序中彈出模式消息框。

具體實(shí)現(xiàn)代碼如下(本程序運(yùn)行測(cè)試環(huán)境基于VS2012 RC 編寫(xiě)):

我們假設(shè)窗體上就只有一個(gè)Button,點(diǎn)擊這個(gè)Button將彈出5個(gè)msgbox,同時(shí)每個(gè)msgbox將延時(shí)2秒后自動(dòng)關(guān)閉。

C#功能代碼如下:

public partial class Form1 : Form
{
private System.Windows.Forms.Timer[] ts = new System.Windows.Forms.Timer[6];


public Form1()
{
  InitializeComponent();
  
}

void t_Tick(object sender, EventArgs e)
{
  ((System.Windows.Forms.Timer)sender).Enabled = false;
  SendKeys.SendWait("{Enter}");
}

private void button1_Click(object sender, EventArgs e)
{
  Action act = new Action(() => 
  {
 for (int i = 0; i < 6; i++)
 {
   ts[i] = new System.Windows.Forms.Timer();
   ts[i].Tick += t_Tick;
   ts[i].Interval = 2000;
   ts[i].Enabled = true;
   MessageBox.Show("MsgBox" + (i + 1));
   Thread.Sleep(2000);
 }
  });
  act.BeginInvoke(null, null);
}

}

Public Partial Class Form1
  Inherits Form
  Private ts As System.Windows.Forms.Timer() = New System.Windows.Forms.Timer(5) {}


  Public Sub New()

    InitializeComponent()
  End Sub

  Private Sub t_Tick(sender As Object, e As EventArgs)
    DirectCast(sender, System.Windows.Forms.Timer).Enabled = False
    SendKeys.SendWait("{Enter}")
  End Sub

  Private Sub button1_Click(sender As Object, e As EventArgs)
    Dim act As New Action(Sub() 
    For i As Integer = 0 To 5
      ts(i) = New System.Windows.Forms.Timer()
      AddHandler ts(i).Tick, AddressOf t_Tick
      ts(i).Interval = 2000
      ts(i).Enabled = True
      MessageBox.Show("MsgBox" & (i + 1))
      Thread.Sleep(2000)
    Next
End sub)
    act.BeginInvoke(Nothing, Nothing)
  End Sub

End Class

此外需要注意:

1.這里使用了“委托異步”是為了防止主線程被Thread延時(shí)導(dǎo)致假死的情況發(fā)生。

2.SendKeys這里必須使用SendWait,否則會(huì)拋出異常。

相關(guān)文章

  • 利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作

    利用Aspose.Word控件實(shí)現(xiàn)Word文檔的操作

    偶然一次機(jī)會(huì),一個(gè)項(xiàng)目的報(bào)表功能指定需要導(dǎo)出為Word文檔,因此尋找了很多篇文章,不過(guò)多數(shù)介紹的比較簡(jiǎn)單一點(diǎn),于是也參考了官方的幫助介紹,終于滿足了客戶的需求。下面我由淺入深來(lái)介紹這個(gè)控件在實(shí)際業(yè)務(wù)中的使用過(guò)程吧
    2013-05-05
  • C#集合本質(zhì)之堆棧的用法詳解

    C#集合本質(zhì)之堆棧的用法詳解

    本文詳細(xì)講解了C#集合本質(zhì)之堆棧的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • 基于WPF實(shí)現(xiàn)PDF的顯示與轉(zhuǎn)換

    基于WPF實(shí)現(xiàn)PDF的顯示與轉(zhuǎn)換

    這篇文章為大家詳細(xì)主要介紹了如何基于WPF實(shí)現(xiàn)PDF的顯示并轉(zhuǎn)換成圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • C#如何調(diào)用MFC 窗口 DLL

    C#如何調(diào)用MFC 窗口 DLL

    這篇文章主要介紹了C#如何調(diào)用MFC 窗口 DLL,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例

    Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例

    這篇文章主要介紹了Windows下C#的GUI窗口程序中實(shí)現(xiàn)調(diào)用Google Map的實(shí)例,如果只想調(diào)用瀏覽器打開(kāi)網(wǎng)頁(yè)的話可以看文章最后的方法,需要的朋友可以參考下
    2016-04-04
  • c#典型工廠化實(shí)現(xiàn)實(shí)例

    c#典型工廠化實(shí)現(xiàn)實(shí)例

    c#典型工廠化實(shí)現(xiàn)實(shí)例,需要的朋友可以參考一下
    2013-03-03
  • c# 空合并運(yùn)算符“??”的使用詳解

    c# 空合并運(yùn)算符“??”的使用詳解

    本篇文章是對(duì)c#中空合并運(yùn)算符“??”的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三

    C#編程自學(xué)之?dāng)?shù)據(jù)類型和變量三

    C#語(yǔ)言類型系統(tǒng)提出的一個(gè)核心概念裝箱(boxing)拆箱(unboxing)。裝箱和取消裝箱的概念是C#的類型系統(tǒng)的核心。它在“值類型”和“引用類型”之間的架起了一座橋梁,使得任何“值類型”的值都可以轉(zhuǎn)換為object類型的值,反過(guò)來(lái)轉(zhuǎn)換也可以。
    2015-10-10
  • C#使用符號(hào)表實(shí)現(xiàn)查找算法

    C#使用符號(hào)表實(shí)現(xiàn)查找算法

    本文詳細(xì)講解了C#使用符號(hào)表實(shí)現(xiàn)查找算法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 探討:關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行

    探討:關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行

    本篇文章是對(duì)關(guān)閉瀏覽器后,php腳本會(huì)不會(huì)繼續(xù)運(yùn)行進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論