TungDauTen
Yêu THVBA
Anh chị cho e hỏi làm thế nào để tự động đóng 1 messageBox,msgbox sau 1 khoảng thời gian ạ?
Em cảm ơn!
Em cảm ơn!
Public Class Form1
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Private Shared Function keybd_event(ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As UInteger, ByVal dwExtraInfo As Integer) As Boolean
End Function
Private Const VK_ESCAPE As Byte = &H1B
Private Const KEYEVENTF_KEYDOWN As Byte = &H0
Private Const KEYEVENTF_KEYUP As Byte = &H2
Private r As DialogResult = DialogResult.None 'メッセージボックスが表示中かどうか判定するために使う変数
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
r = DialogResult.None
Dim t As New Threading.Thread(AddressOf closeMsgbox)
t.Start(5) 'Tu dong close sau 5 giay
r = MessageBox.Show("Auto-close message")
End Sub
Private Sub closeMsgbox(ByVal delay As Object)
Threading.Thread.Sleep(CInt(delay) * 1000)
If r = DialogResult.None Then
AppActivate(System.Diagnostics.Process.GetCurrentProcess().Id) 'Activating itself activates the message box
keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYDOWN, 0)
keybd_event(VK_ESCAPE, 0, KEYEVENTF_KEYUP, 0)
Else
r = DialogResult.None
End If
End Sub
End Class
Sub Autoclose_MessageBox()
Dim msgBoxText As String
Dim timeDelay As Double
Dim msgBox As Object
msgBoxText = "Auto close after 5 second "
timeDelay = 5
Set msgBox = CreateObject("WScript.Shell")
msgBox.Popup msgBoxText, timeDelay, "Message Box Timer", vbInformation
End Sub
Em thử code này, vẫn phải bấm OK thì msgBox nó mới mất đi bác àVBA code
Mã:Sub Autoclose_MessageBox() Dim msgBoxText As String Dim timeDelay As Double Dim msgBox As Object msgBoxText = "Auto close after 5 second " timeDelay = 5 Set msgBox = CreateObject("WScript.Shell") msgBox.Popup msgBoxText, timeDelay, "Message Box Timer", vbInformation End Sub