软糖来回答罗:通过System.Diagnostics命名空间下的Process类来关闭程序的进程
10年积累的做网站、成都网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先做网站后付款的网站建设流程,更有甘南免费网站建设让你可以放心的选择与我们合作。
Dim 进程集合 = Process.GetProcessesByName("进程名称")
For Each 进程 In 进程集合
进程.Kill()
'进程.Close() '或者使用关闭
Next
也可以先获取所有进程,再来判断这些进程的名称ProcessName
Dim 获取本地所有进程 = Process.GetProcesses()
For Each 进程 In 获取本地所有进程
If 进程.ProcessName = "explorer.exe" Then 进程.Kill()
Next
MessageBox里的Show里没有自动关闭的方法,但是你可以自定义一个MessageBox,MessageBox就是一个窗体,你新建一个窗体Form2,添加一个public属性message和一个定时器timer1,timer1的interval设置成你想要的时间,在Form2的Load事件启动timer1,Timer1_Tick事件里关闭窗口Me.Close(),然后在需要显示Messagebox的时候,在主窗口Form1里设置messge属性,然后用show方法弹出窗口就可以了。
Form1程序:(添加了一个Button1)
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim f2 As Form2 = New Form2
f2.Message = "提示"
f2.ShowDialog()
End Sub
End Class
Form2程序:(添加了一个Label1显示信息和一个Timer1用于计时,Form2可以自定义成你想要的样式,标题,按钮,窗体样式等)
Public Class Form2
'自定义属性 显示提示信息
Public WriteOnly Property Message As String
Set(value As String)
Label1.Text = value
End Set
End Property
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.Close()
End Sub
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval=3000 '定时3秒关闭窗口
Timer1.Enabled = True
End Sub
End Class
代码已在VS2017测试通过。
如果是单个窗体的话,这段代码是没有问题的.请注意”但任务栏上仍有显示”是不是form1的?