Vb.net 使用单个表单处理多个任务

Vb.net 使用单个表单处理多个任务,vb.net,Vb.net,我很难解释我想做什么,所以谷歌搜索我的答案不起作用 我有一个Windows窗体正在用作msgbox。我有10个按钮,我想全部转到表单关闭框,但10个按钮中的每一个都需要更改一段命令字符串。我能想到的唯一方法就是用10种不同的形式。。。但必须有更好的办法 例如: 单击关机按钮1,将REMOTEPC1.Text放入字段。或者如果按钮2,则执行remotePC2等操作 代码: 再一次,对不起,很难解释 编辑: 尝试和帮助的图片 我个人会使用我的.Settings。。拥有所有需要发送的命令,并从单击事件

我很难解释我想做什么,所以谷歌搜索我的答案不起作用

我有一个Windows窗体正在用作msgbox。我有10个按钮,我想全部转到表单关闭框,但10个按钮中的每一个都需要更改一段命令字符串。我能想到的唯一方法就是用10种不同的形式。。。但必须有更好的办法

例如: 单击关机按钮1,将REMOTEPC1.Text放入字段。或者如果按钮2,则执行remotePC2等操作

代码:

再一次,对不起,很难解释

编辑: 尝试和帮助的图片
我个人会使用我的.Settings。。拥有所有需要发送的命令,并从单击事件处理程序调用它们。。。我很快写了这篇文章,希望能有所帮助


我个人会使用我的.Settings。。拥有所有需要发送的命令,并从单击事件处理程序调用它们。。。我很快写了这篇文章,希望能有所帮助

第一种形式

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    If TextBox1.Text = "" Then
        TextBox1.BackColor = Color.Tomato
    Else
        TextBox1.BackColor = Color.White
        Form2.Text = TextBox1.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox6.Click
    If TextBox2.Text = "" Then
        TextBox2.BackColor = Color.Tomato
    Else
        TextBox2.BackColor = Color.White
        Form2.Text = TextBox2.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox9.Click
    If TextBox3.Text = "" Then
        TextBox3.BackColor = Color.Tomato
    Else
        TextBox3.BackColor = Color.White
        Form2.Text = TextBox3.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox12.Click
    If TextBox4.Text = "" Then
        TextBox4.BackColor = Color.Tomato
    Else
        TextBox4.BackColor = Color.White
        Form2.Text = TextBox4.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox15.Click
    If TextBox5.Text = "" Then
        TextBox5.BackColor = Color.Tomato
    Else
        TextBox5.BackColor = Color.White
        Form2.Text = TextBox5.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox18.Click
    If TextBox6.Text = "" Then
        TextBox6.BackColor = Color.Tomato
    Else
        TextBox6.BackColor = Color.White
        Form2.Text = TextBox6.Text
        Form2.Show()
    End If
End Sub
添加第二个表单

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Process.Start("cmd", "/C ""net use \\" & Me.Text & "\IPC$ PASSWORD /USER:DOMAIN\USERNAME& shutdown /r /f /t 01 /m \\" & Me.Text & "\""")
    Me.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Process.Start("cmd", "/C ""net use \\" & Me.Text & "\IPC$ PASSWORD /USER:DOMAIN\USERNAME& shutdown /s /f /t 01 /m \\" & Me.Text & "\""")
    Me.Close()
End Sub
这次不需要在应用程序的设置中保存字符串…

第一个表单

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click
    If TextBox1.Text = "" Then
        TextBox1.BackColor = Color.Tomato
    Else
        TextBox1.BackColor = Color.White
        Form2.Text = TextBox1.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox6.Click
    If TextBox2.Text = "" Then
        TextBox2.BackColor = Color.Tomato
    Else
        TextBox2.BackColor = Color.White
        Form2.Text = TextBox2.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox9.Click
    If TextBox3.Text = "" Then
        TextBox3.BackColor = Color.Tomato
    Else
        TextBox3.BackColor = Color.White
        Form2.Text = TextBox3.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox12.Click
    If TextBox4.Text = "" Then
        TextBox4.BackColor = Color.Tomato
    Else
        TextBox4.BackColor = Color.White
        Form2.Text = TextBox4.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox15.Click
    If TextBox5.Text = "" Then
        TextBox5.BackColor = Color.Tomato
    Else
        TextBox5.BackColor = Color.White
        Form2.Text = TextBox5.Text
        Form2.Show()
    End If
End Sub

Private Sub PictureBox18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox18.Click
    If TextBox6.Text = "" Then
        TextBox6.BackColor = Color.Tomato
    Else
        TextBox6.BackColor = Color.White
        Form2.Text = TextBox6.Text
        Form2.Show()
    End If
End Sub
添加第二个表单

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Process.Start("cmd", "/C ""net use \\" & Me.Text & "\IPC$ PASSWORD /USER:DOMAIN\USERNAME& shutdown /r /f /t 01 /m \\" & Me.Text & "\""")
    Me.Close()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Process.Start("cmd", "/C ""net use \\" & Me.Text & "\IPC$ PASSWORD /USER:DOMAIN\USERNAME& shutdown /s /f /t 01 /m \\" & Me.Text & "\""")
    Me.Close()
End Sub


这次不需要在应用程序的设置中保存字符串…

让按钮的单击事件处理程序设置变量。你不太可能只使用按钮。顺便说一句,当你有那么多按钮时,你必须向用户提供反馈。除非是单选按钮。对它添加一些标签,代码也变得简单。@HansPassant你能给我一个例子说明它是如何为它设置变量的吗?当我单击其中一个关闭按钮时,它会执行ShutdownBox.show()而不是10个表单和10个表单,为什么不创建一个包含10个项目的组合框,让他们从中选择,然后你的代码就可以执行了?我在解析你的目标时遇到了麻烦。当你说你将表单用作msgbox时,你的确切意思是什么?还有,你的意思是应该有十个随时可见的按钮吗?ShutdownBox类中只有shutdown\u Click子类吗?让按钮的Click事件处理程序设置变量。你不太可能只使用按钮。顺便说一句,当你有那么多按钮时,你必须向用户提供反馈。除非是单选按钮。对它添加一些标签,代码也变得简单。@HansPassant你能给我一个例子说明它是如何为它设置变量的吗?当我单击其中一个关闭按钮时,它会执行ShutdownBox.show()而不是10个表单和10个表单,为什么不创建一个包含10个项目的组合框,让他们从中选择,然后你的代码就可以执行了?我在解析你的目标时遇到了麻烦。当你说你将表单用作msgbox时,你的确切意思是什么?还有,你的意思是应该有十个随时可见的按钮吗?这是你的ShutdownBox类中唯一我需要的东西吗?谢谢你的重播,这几乎正是我需要的。但是我也想要重新启动的选项。有什么想法吗?我会制作一个sub来处理所有六个PBs的点击事件,然后根据发送者查找命令。感谢重播,这几乎正是我所需要的。但我也希望重新启动选项。有什么想法吗?我会制作一个sub来处理所有六个PBs的点击事件,然后根据发送者查找命令。啊,我知道你是怎么做到的,太简单了!,Form2.text=Textbox.text。这将更改表单2的标题。。。如果你不想改变它,你可以在表格2中使用一个标签,并修改它,而不是表格标题。。。你可以把标签藏起来……啊,我知道你是怎么做到的,太简单了!,Form2.text=Textbox.text。这将更改表单2的标题。。。如果你不想改变它,你可以在表格2中使用一个标签,并修改它,而不是表格标题。。。然后你可以隐藏标签。。。