我正在尝试使用VB.Net创建form
来检查IExplorer进程是否正在运行,然后显示RichTextBox
(建议用户关闭IE)是进程= 1并且如果进程= 0,则Button
进入下一个form
。
这是最简单的部分,困难的部分是如果在加载表单时进程为= 0然后用户打开IE,我想删除按钮并显示RichTextBox
(它建议用户关闭IE)并再一次如果他们关闭IE,Button会重新出现。
我在button
中有RichTextBox
和form_load
,其中If
语句显示取决于IE是否打开,但我无法让它们交换如果IE关闭或打开,任何帮助将不胜感激。
以下是我在RTB和Button
的Form_load中的代码aProc = Process.GetProcessesByName("iexplore")
If aProc.Length = 0 Then
Dim b1 As New Button
b1.Location = New System.Drawing.Point(274, 244)
b1.Name = "btnOK"
b1.Size = New System.Drawing.Size(75, 29)
b1.TabIndex = 5
b1.Text = "OK"
b1.UseVisualStyleBackColor = False
Me.Controls.Add(b1)
AddHandler b1.Click, AddressOf btn_OK
Else
Dim t1 As New RichTextBox
t1.Location = New System.Drawing.Point(170, 233)
t1.Name = "rtbMessage2"
t1.ReadOnly = True
t1.Font = New System.Drawing.Font("Arial", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
t1.Size = New System.Drawing.Size(293, 40)
t1.TabIndex = 5
t1.Text = ("Internet Explorer is Running - Please Close Internet Explorer to Continue")
Me.Controls.Add(t1)
AddHandler t1.Click, AddressOf btn_OK
End If
答案 0 :(得分:0)
我会做出两个改变:
为此,我会(在加载时)使用.Visible = false
创建Button和RichTextBox。然后创建一个每500毫秒(+/-)运行一次的计时器。该计时器将调用包含您上面的逻辑的函数。但是,不是创建控件(使用该逻辑),而只是引用它们并设置它们的可见性。
实质上,创建一次控件,多次运行逻辑。