Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 你好有人能在我的项目上帮我吗?这是我的密码_Vb.net_Visual Studio 2013 - Fatal编程技术网

Vb.net 你好有人能在我的项目上帮我吗?这是我的密码

Vb.net 你好有人能在我的项目上帮我吗?这是我的密码,vb.net,visual-studio-2013,Vb.net,Visual Studio 2013,这是我在form1上的代码 Public Class frmColor Dim red, green, yellow, blue, orange As New frmChanger Private Sub BtnRed_Click(sender As Object, e As EventArgs) Handles BtnRed.Click frmChanger.Show(red) End Sub Private Sub BtnGreen_Cli

这是我在form1上的代码

Public Class frmColor
    Dim red, green, yellow, blue, orange As New frmChanger

    Private Sub BtnRed_Click(sender As Object, e As EventArgs) Handles BtnRed.Click
        frmChanger.Show(red)
    End Sub

    Private Sub BtnGreen_Click(sender As Object, e As EventArgs) Handles BtnGreen.Click
        frmChanger.Show(green)
    End Sub

    Private Sub BtnYellow_Click(sender As Object, e As EventArgs) Handles BtnYellow.Click
        frmChanger.Show(yellow)
    End Sub

    Private Sub BtnBlue_Click(sender As Object, e As EventArgs) Handles BtnBlue.Click
        frmChanger.Show(blue)
    End Sub

    Private Sub BtnOrange_Click(sender As Object, e As EventArgs) Handles BtnOrange.Click
        frmChanger.Show(orange)
    End Sub

End Class
这是我在form2上的代码

我需要的是,当我点击表单1上的btnRed时,表单2上只显示PnlRed。。 单击BtnGreen时,表单2上的Pnlgreen


我的问题是,当我只单击一个按钮时,两种面板颜色都会显示。。我该怎么办?有人能帮我吗。

frmChanger
中添加一个表单级变量,其数据类型为
Color
,范围为
frmColor
(因此可以从
frmColor
中查看)。此代码使用表单的默认实例。每种颜色都不需要单独的表格。您只希望显示不同的颜色。用一个不同颜色的面板代替多个面板怎么样

表单1
代码中(您的
frmColor

=Color.Green
等的其他按钮重复上述操作

Form2
(您的
frmChanger


请试着让我们知道什么不起作用,我希望你没有期望有人来做你的工作:)它不起作用..我试着用其他颜色,但所有的面板都变成了红色..甚至我点击了其他按钮我很抱歉,我的意思是,当我点击红色按钮时,表格2中的所有面板都变成了红色。如果我单击绿色按钮,form2中的所有面板都变为绿色。我只需要一个面板更改颜色。这段代码听起来像VBA而不是VB.Net?如果是VB.Net,为什么不在
frmChanger.Show(yellow)
构造函数
New()
中设置面板的背景色,而不是
frmChanger.Show(yellow)
呢?在您的上下文中,使用
绘制事件
不是一个好的做法。在button click事件中。我想你需要阅读关于UserForms的VBA或关于WinForms的VB.Net。这不起作用。我尝试使用其他颜色,但所有面板都变为红色。即使我单击了其他按钮。对不起,我的意思是,当我单击按钮红色时,表单2中的所有面板都变为红色。如果我点击绿色按钮,表格2中的所有面板都变为绿色。我只想要一个面板改变颜色。对不起,我的意思是,当我点击红色按钮时,表格2中的所有面板都变为红色。如果我单击绿色按钮,form2中的所有面板都变为绿色。我只需要一个面板来更改颜色。@RachelleBugarin我用
Panel1
来演示。在
表单2.Load
@RachelleBugarin中使用您要更改的面板名称,以回复您的第一条评论。说“其他按钮”是绿色按钮。那么另一个按钮中的代码将是
Form2.panelColor=Color.Green
Form2.Show()
Public Class frmChanger
    Private Sub PnlRed_Paint(sender As Object, e As PaintEventArgs) Handles PnlRed.Paint
        PnlRed.BackColor = Color.Red
    End Sub

    Private Sub PnlGreen_Paint(sender As Object, e As PaintEventArgs) Handles PnlGreen.Paint
        PnlGreen.BackColor = Color.Green
    End Sub

    Private Sub PnlYellow_Paint(sender As Object, e As PaintEventArgs) Handles PnlYellow.Paint
        PnlYellow.BackColor = Color.Yellow
    End Sub

    Private Sub PnlBlue_Paint(sender As Object, e As PaintEventArgs) Handles PnlBlue.Paint
        PnlBlue.BackColor = Color.Blue
    End Sub

    Private Sub PnlOrange_Paint(sender As Object, e As PaintEventArgs) Handles PnlOrange.Paint
        PnlOrange.BackColor = Color.Orange
    End Sub
End Class
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Form2.panelColor = Color.Red
    Form2.Show()
End Sub
Friend panelColor As Color

Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Panel1.BackColor = panelColor
End Sub