【问题标题】:Public Property keeps changing it's value by itself公共财产不断改变其自身的价值
【发布时间】:2014-04-12 10:04:50
【问题描述】:

这个值需要是.visible = True 但是...

    Public Property Active_bool As Boolean
    Get
        Return btn_Begin.Visible
    End Get
    Set(ByVal value As Boolean)
        btn_Begin.Visible = value
    End Set
End Property

我无法使用下拉框更改属性中的值。它实际上不会选择 True!所以我必须更改 Designer.vb 中的代码,但一旦我查看我的 form1 设计器,值就会变回 False!

有没有办法为这个属性设置一个默认值?

该属性用于查看 UserControl 上的按钮是否可见。如果它是可见的,那么它将启动一个子。

Private Sub btn_Start_All_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Start_All.Click
        Dim allActiveUserControls =
            From uc_Index In Controls.OfType(Of LapTimerGUI)()
        Where uc_Index.Active_bool
        For Each User_Control In allActiveUserControls
            User_Control.Start_Race()
        Next
    End Sub

【问题讨论】:

  • 类似问题是,但不重复。
  • 不要依赖控件属性,因为这会迫使您使控件对外界可见。根据某些业务规则,该控件肯定会设置为可见/启用为真/假。您必须遵守系统中的规则才能做出此类决定。
  • 我会记住这一点,谢谢 :)

标签: vb.net


【解决方案1】:

你可以试试这个,但我必须问一下环境是什么(Winform、WebForm)以及这个属性的目的是什么?

dim _isEnabled = true
Public Property IsEnabled As Boolean
    Get
        Return _isEnabled 
    End Get
    Set(ByVal value As Boolean)
        _isEnabled = value
        btn_Begin.Visible = _isEnabled 
    End Set
End Property

【讨论】:

  • 谢谢你帮我得到答案 :)
  • @AmatureCoder:如果以上回答对您有帮助,请不要忘记接受并点赞。
猜你喜欢
  • 2022-01-15
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
  • 2018-05-18
  • 2011-12-21
相关资源
最近更新 更多