用于更改所有表单背景颜色的按钮

时间:2014-07-27 23:57:13

标签: vb.net visual-studio

我在学校只研究了一点视觉基础,我现在正试着自己做点什么,对不起,如果这是一个愚蠢的问题。

我创建了几个按钮,使用它来改变背景颜色:

Private Sub bgcblue_Click(sender As Object, e As EventArgs) Handles bgcblue.Click
        BackColor = Color.DeepSkyBlue
    End Sub

然而,我不知道如何让它改变其他形式的颜色。这是您可以选择的唯一选项,因此,例如,如果您选择蓝色,则以下形式也将具有蓝色背景。

我能想到的唯一方法是在每个表单的开头写一个if子句,声明如果在上一个表单上单击该按钮,那么它应该具有该颜色,但这看起来很多代码......有人可以帮忙吗?对不起,如果你不明白我说的话或说错了......

6 个答案:

答案 0 :(得分:1)

我会在模块中的某处设置一个名为BackgroundColor的全局变量,因此所有表单都可以访问它。 单击该按钮时,可以设置变量的值。如果您只是在两种颜色之间切换,或者是新背景颜色的实际值,则要么是真正的愚蠢 然后,当您加载一个新表单时,让它从变量的值设置它的bakground颜色。

这是一个简单的选择。有更复杂的...... 如果你愿意,我可以详细说明其他几种方法,请告诉我。

答案 1 :(得分:0)

在VB中,这真的很容易。你只需要参考你的其他表格。不要只是说BackColor = Color.DeepSkyBlue,而是通过添加表单名称来引用该属性...所以YourMainForm.BackColor = Color.DeepSkyBlue

答案 2 :(得分:0)

项目 - >添加模块项目添加新项目 - >常见项目 - >模块 在模块中编写代码

Module Module1
    Public Sub form_background(ByVal frm As Form)' pass current form as system.controls.form
        frm.BackColor = Color.Azure ' Set the back ground color as .Azure
    End Sub
End Module

在您要添加的每个页面中调用该函数,如下所示

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    form_background(Me)
End Sub

答案 3 :(得分:0)

在按钮点击代码中,您可以执行以下操作

Private Sub bgcblue_Click(sender As Object, e As EventArgs) Handles bgcblue.Click
    BackColor = Color.DeepSkyBlue
    form1.Backcolor = Color.DeepskyBlue
    form2.Backcolor = Color.DeepSkyBlue 
End Sub

答案 4 :(得分:0)

更改所有表单的背景颜色

  • 创建一个表来存储颜色名称。
  • 在模块中,创建一个全局变量,并使用组合为其指定一个值,以使用多种颜色。
  • 调用任何表单加载变量并将表单背景颜色属性设置为该变量。

答案 5 :(得分:0)

  

在模块中创建一个公共属性,将由所有表单使用   在load事件中设置初始背景颜色。当你设置颜色   此属性更改所有打开表单的背景颜色

模块中的属性

Module Module1
    Private m_FormBackgroundColor As Color
    Public Property FormBackgroundColor As Color
        Get
            Return m_FormBackgroundColor
        End Get
        Set(value As Color)
            m_FormBackgroundColor = value
            For Each Frm As Form In Application.OpenForms
                Frm.BackColor = m_FormBackgroundColor
            Next
        End Set
    End Property
End Module

为其加载事件

中的每个设置背景颜色
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        Me.BackColor = FormBackgroundColor
    End Sub
End Class
按钮上的

单击以设置背景颜色

Private Sub bgcblue_Click(sender As Object, e As EventArgs) Handles bgcblue.Click
    FormBackgroundColor = Color.DeepSkyBlue
End Sub