Унаследованные свойства не редактируются в конструкторе - PullRequest
1 голос
/ 29 декабря 2010

У меня есть базовый класс формы, который предоставляет новое свойство, которое выглядит следующим образом

Public Class BaseForm

    Private _HappyTime As Boolean

    Public Property HappyTime() As Boolean
        Get
            Return _HappyTime
        End Get
        Set(ByVal value As Boolean)
            _HappyTime = Value
        End Set
    End Property

End Class

<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class BaseForm
    Inherits System.Windows.Forms.Form

    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        Try
            If disposing AndAlso components IsNot Nothing Then
                components.Dispose()
            End If
        Finally
            MyBase.Dispose(disposing)
        End Try
    End Sub

    Private components As System.ComponentModel.IContainer

    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        components = New System.ComponentModel.Container
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.Text = "BaseForm"
    End Sub
End Class

Теперь, когда я наследую BaseForm в новой форме, свойство HappyTime отображается в окне свойств как false,и не редактируется.

Я воссоздал эту BaseForm и Inheriting Form в совершенно новом решении, а свойство HappyTime доступно для редактирования и работает, как и ожидалось.По какой-то причине в существующем проекте (где необходимо внести эти изменения) он не ведет себя должным образом.

Это наводит меня на мысль, что это как-то связано с настройкой моего проекта.Кто-нибудь знает что-нибудь об этом, кроме создания нового проекта и переноса всего кода в него?

Информация о среде: .Net Framework 3.5, Visual Studio 2010, Win7 x64

1 Ответ

1 голос
/ 30 декабря 2010

В воссозданном решении свойство _HappyTime является частным или защищенным? Я думаю, что если вы просто измените его на Защищенный в этом решении, оно будет работать.

...