首页 > 解决方案 > 使用另一个用户控件从用户控件更改图片框、BackgroundImage

问题描述

我有一些来自用户控件(UserCtrl2)的按钮,并且想要动态更改 UserCtrl1、PictureBox BackgroundImage。从我下面的代码中,UserCtrl2 PictureBox BackgroundImage 属性确实发生了变化,但 winform 仍然显示以前的 BackgroundImage。

我尝试了以下方法,

  1. 在 UserCtrl1 中的 me.refresh,仍然没有任何反应。
  2. 不确定如何实现 {Get and Set} 或 dispose 函数。

提前感谢您的任何建议或参考。

这是我的 UserCtrl1 代码:

Public Class UserCtrl1
    Public Sub UserCtrl1_Task(LEDno As UShort, LEDState As Boolean)
        Select Case LEDno
            Case 0 : Exit Sub
            Case 1
                If LEDState Then
                    PicBox_A.BackgroundImage = My.Resources.ResourceManager.GetObject("Blue_ON")
                Else
                    PicBox_A.BackgroundImage = My.Resources.ResourceManager.GetObject("Blue_OFF")
                End If
        End Select
    End Sub
End Class

这是我的 UserCtrl2 代码:

Public Class UserCtrl2
    Private ButtonClick(4) As Boolean

    Private Sub Btn_A_Click(sender As Object, e As EventArgs) Handles Btn_A.Click
        Dim InputControl = New UserCtrl1

        If Not ButtonClick(0) Then
            ButtonClick(0) = True
            Btn_A.BackgroundImage = My.Resources.ResourceManager.GetObject("Switch1_ON")
            InputControl.UserCtrl1_Task(1, True)
        Else
            ButtonClick(0) = False
            Btn_A.BackgroundImage = My.Resources.ResourceManager.GetObject("Switch1_OFF")
            InputControl.UserCtrl1_Task(1, False)
        End If
    End Sub
End Class

标签: vb.netwinforms

解决方案


推荐阅读