【发布时间】:2014-04-11 07:06:36
【问题描述】:
这是我的情况。
我有一个来自 VB.NET 应用程序的窗口。在我的第一个表单中,有两个复选框。如果选中第一个,则转到 Form2,如果仅选中第二个,则转到 Form3。如果两者都被选中,那么我想先去 Form2,当这个过程完成后去 Form3。一切都很好,直到这一点。 但是,我希望 Form3 开始执行其代码(在后台工作人员内部)而不按任何按钮(仅选中第二个复选框时的情况)。这可能吗?
提前致谢!
额外信息....
为了在表单之间导航,我使用了显示/隐藏/关闭方案。例如:
If CheckBoxTrain.CheckState = CheckState.Checked Then
Me.Hide()
Form2.Show()
ElseIf CheckBoxTrain.CheckState = CheckState.Unchecked And CheckBoxEvaluate.CheckState = CheckState.Checked Then
Me.Hide()
Form3.Show()
在 form2 的代码末尾,我检查第二个复选框是否也被选中:
If Form1.CheckBoxTrain.CheckState = CheckState.Checked And Form1.CheckBoxEvaluate.CheckState = CheckState.Checked Then
Form3.Show()
Me.Hide()
End If
然后在 Form3 中有一个按钮,按下它后我就有了所有代码:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For i = 1 To n_monte
Button1.Enabled = False
Button2.Enabled = True
BackgroundWorker1.WorkerSupportsCancellation = True
BackgroundWorker1.WorkerReportsProgress = True
BackgroundWorker1.RunWorkerAsync()
Next
End Sub
我想要的是最后一段代码是在不按任何按钮的情况下开始运行(仅适用于同时选中两个复选框的情况)
【问题讨论】:
-
请提供更多细节。例如,请提供您使用
BackgroundWorker的代码。还请详细说明“...被检查到 Form3”是什么意思 - 你还没有告诉我们你是如何在表单之间导航的。 -
信息不足..提供一些代码..
-
我会说根据你所说的,这是可能的,不过,一些代码会更有用。
-
在您的 form2 中,只需在 form2 代码中引用您要启动的进程即可。应该工作。
-
我编辑了我的帖子,包含一些代码.....再次感谢!
标签: vb.net winforms visual-studio-2012