の奇妙な場合はたぶんタイトルはそれほど明確ではないが、これは私が経験してるものです:プロパティ継承動作
私はOKとCancelボタンをが含まれているベースのフォームを作成しましたこのフォームはまた、次のようになり、いくつかの特性を持っている(これはBaseOkCancelButtonFormと呼ばれている) :今
[Browsable (true)] [Category ("Design")] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public string OkButtonText { get { return btnOk.Text; } set { btnOk.Text = value; } } [Browsable (true)] [Category ("Design")] [DefaultValue (true)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public bool OkButtonVisible { get { return btnOk.Visible; } set { btnOk.Visible = value; } } [Browsable (true)] [Category ("Design")] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public string CancelButtonText { get { return btnCancel.Text; } set { btnCancel.Text = value; } } [Browsable (true)] [Category ("Design")] [DefaultValue (true)] [DesignerSerializationVisibility (DesignerSerializationVisibility.Visible)] public bool CancelButtonVisible { get { return btnCancel.Visible; } set { btnCancel.Visible = value; } }
を、これは何が起こっているかである: 私はこれで新しいフォームを作成します私のBaseOkCancelButtonFormから継承します。
継承されたフォームのCancelButtonTextプロパティを変更してプロジェクトを再構築すると、すべてが正常に行われます。キャンセルボタンのテキストは、設定したテキストのままです。 しかし、CancelButtonVisibleプロパティで同じ操作を行うと、状況が正しくありません。 CancelButtonVisibleプロパティをfalseに設定してプロジェクトを再構築すると、VS.NETはこのプロパティの値をtrueにリセットします。 :?
変更された値はデザイナーによって保持されません。 これは動作を知られていますか?私は何か間違っているのですか?