DOBON.NETプログラミング道掲示板

[ 最新記事及び返信フォームをトピックトップへ ]

■33962 / inTopicNo.1)  ユーザーコントロールのプロパティが保存されない
  
□投稿者/ 猫まっしぐら 一般人(5回)-(2018/08/14(Tue) 17:29:17)
  • アイコン環境/言語:[Windows7 VB.net2005] 
    分類:[.NET] 

    毎度お世話になってます
    
    ユーザーコントロールのプロパティ(Font,BackColor,ForeColor)が
    
    <DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)> _
        Public Overrides Property Font() As Font
            Get
                Return MyBase.Font
            End Get
    
            Set(ByVal val As Font)
                MyBase.Font = val
                MyFont = val
    
                Return
            End Set
        End Property
    
    とやっても貼り付けたフォームのデザインモードで保存されません
    とりあえずこの3つのプロパティ以外は保存されているようですし、プロパティ一覧でも
    ボールドにはなっていますが保存されません
    
    何が足りないのでしょう…

マルチポストを報告
違反を報告
引用返信 削除キー/
■34000 / inTopicNo.2)  Re[1]: ユーザーコントロールのプロパティが保存されない
□投稿者/ shu 大御所(482回)-(2018/10/09(Tue) 12:24:48)
  • アイコンNo33962に返信(猫まっしぐらさんの記事)

    保存されないというのはどのように確認されて判断されたのでしょうか?
    提示された内容はMyBase.Fontをそのまま使用しているので動作的には
    無いのと同じように思いますが、実際どのような動作をするのでしょうか?
違反を報告
引用返信 削除キー/
■34001 / inTopicNo.3)  Re[1]: ユーザーコントロールのプロパティが保存されない
□投稿者/ 魔界の仮面弁士 大御所(1150回)-(2018/10/09(Tue) 13:18:07)
  • アイコンNo33962に返信(猫まっしぐらさんの記事)
    > ユーザーコントロールのプロパティ(Font,BackColor,ForeColor)が

    Font や Color はアンビエント(ambient)なプロパティですので、
    既定値と初期値が異なります。

    デザイナーが各プロパティの値を正しく永続化できるよう、
    ShouldSerialize-プロパティ メソッドと、
    Reset-プロパティ メソッドを実装しておいてください。

    Private Function ShouldSerializeBackColor() As Boolean
    Private Sub ResetBackColor()

    もしもアンビエントであることを無視できる場合には、
    これらのメソッドの代わりに DefaultValue 属性を指定することもできます。

    https://docs.microsoft.com/ja-jp/dotnet/framework/winforms/controls/defining-default-values-with-the-shouldserialize-and-reset-methods
    http://tech.junax.jp/custom-control-medium/wfcm-serialization/


    また、特定のプロパティ設定に応じて、他のプロパティの状態が
    変わるような場合は、 プロパティ-Changed イベントも実装するようにします。

    NotInheritable ではないクラスに イベントを追加実装する場合には、
    Protected Sub On-イベント名(e As EventArgs継承クラス) メソッドも加えます。
違反を報告
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

Mode/  Pass/


- Child Tree -