Hoje mostro como criar um messagebox que se fecha automaticamente após um tempo configurado.
[sections] [section title=” Messagebox que fecha automaticamente após um tempo determinado”]

public class CsAutoCloseMessageBox
{
System.Threading.Timer _timeoutTimer;
string _caption;
CsAutoCloseMessageBox(string text, string caption,MessageBoxButtons btn,MessageBoxIcon icn, int timeout)
{
_caption = caption;
_timeoutTimer = new System.Threading.Timer(OnTimerElapsed,
null, timeout, System.Threading.Timeout.Infinite);
MessageBox.Show(text, caption);
}
public static void Show(string text, string caption,MessageBoxButtons btn,MessageBoxIcon icn, int timeout)
{
new CsAutoCloseMessageBox(text, caption,btn,icn, timeout);
}
void OnTimerElapsed(object state)
{
IntPtr mbWnd = FindWindow(null, _caption);
if (mbWnd != IntPtr.Zero)
SendMessage(mbWnd, WM_CLOSE, IntPtr.Zero, IntPtr.Zero);
_timeoutTimer.Dispose();
}
const int WM_CLOSE = 0x0010;
[System.Runtime.InteropServices.DllImport("user32.dll", SetLastError = true)] static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[System.Runtime.InteropServices.DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)] static extern IntPtr SendMessage(IntPtr hWnd, UInt32 Msg, IntPtr wParam, IntPtr lParam);
}

[/section] [/sections]
Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[C#] Messagebox que fecha automaticamente após um tempo determinado
Tags:                         

Deixe uma resposta

%d blogueiros gostam disto: