1

継承されたコントロールを作成しようとしています。コントロールのちらつき効果を有効/無効にするために、「Flickering」というタイトルのこのコントロールのブール型パブリック プロパティを作成しました。

次に、「ちらつき」プロパティが有効になっている場合にのみ、次のオーバーライド可能なプロパティを「オン」にする必要がありますが、これを行う方法がわかりません。

Protected Overrides ReadOnly Property CreateParams() As CreateParams
If Disable_Flickering = True Then
    Get
        Dim cp As CreateParams = MyBase.CreateParams
        cp.ExStyle = cp.ExStyle Or &H2000000
        Return cp
    End Get 
End If
End Property

コードは明らかに機能しませんが、これを行うための正しいロジックを考えていないと思います。

どうすればそれができますか?

答え:

''' <summary>
''' Enable/Disable any flickering effect on the panel.
''' </summary>
Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        If _Diable_Flickering Then
            Dim cp As CreateParams = MyBase.CreateParams
            cp.ExStyle = cp.ExStyle Or &H2000000
            Return cp
        Else
            Return MyBase.CreateParams
        End If
    End Get
End Property
4

1 に答える 1

6

プロパティを条件付きで表示することはできません。オブジェクトが不適切な状態にあるときに誰かが値を変更または取得しようとすると、代わりに例外をスローできます。

于 2013-06-05T19:41:53.527 に答える