2009-08-13 107 views
0

一個奇怪的情況下,也許標題不是那麼清楚,但是這是我遇到:的財產繼承行爲

  • 我已經創建了一個基本形式,其中包含一個確定和取消按鈕(這被稱爲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。 :?

出於某種原因,設計者不會堅持改變的值? 這是知道的行爲嗎?難道我做錯了什麼 ?

回答

0

嗯,似乎這個工作時,我的基本形式的CancelButton保護。 但是,我不想這樣做。 此外,它不應該這樣做,以及...(和更改按鈕的文本屬性不需要按鈕被保護,就像它應該是)...

奇怪。