2013-04-01 36 views
0

我正在製作這樣一個標籤爲「產品版本控件」的控件,它使用一個包含字段,複選框,文本區域,網格等的UserControl。在運行時,當我添加一個新選項卡時(就像我們在瀏覽器中那樣),我實例化一個新的UserControl(其中包含所有組件)。問題是:我可以獲取所有內部組件值並填充一個對象以保持,而不是其他方式。我可以從Object中獲取所有值,並將它們設置爲內部組件的EditValue(或Text/Value屬性)屬性,但它們不會向用戶顯示。找不到在UserControl C#中填充控件的方法

考慮:

  • 我所有的內部組件具有公共的set/get方法,如下面所示
 

    public class TabVersion : UserControl 
    { 
     ... 
     public DevExpress.XtraEditors.SpinEdit seRevision 
     { 
      get 
      { 
       return _seRevision; 
      } 
      set 
      { 
       _seRevision = value; 
      } 
     } 
     ... 
    } 
 
  • 裏面TabVersion類,我有收到一個 「補」 的方法「版本」對象並設置所有內部組件「EditValue」屬性,如下所示:
 

    public class TabVersion : UserControl 
    { 
     ... 
     public void FillTab(Sheet sheet) 
     { 
      ... 
      this.seRevision.EditValue = sheet.NumRevision; 
      ... 
     } 
     ... 
    } 
 
  • 在運行時,所有EditValue組件屬性都已填充但未顯示給用戶。是否必須爲我的用戶控件中的每個組件設置「啓用」或「可見」屬性?

任何想法?

預先感謝您。

+1

您是否將控件添加到UserControl的任何位置?如果是的話,你可以顯示代碼? – JaredPar

+0

嗨@JaredPar謝謝你的回答。我使用VS2008 Designer創建了我的用戶控件,就像一個表單(定位,大小調整等)。製表符的創建方法可以參見[這裏](http://pastebin.com/Ce2FZ78b)。 –

+0

嘿傢伙,有什麼想法?先謝謝你。 –

回答

1

呃...在沒有任何目標的情況下到處搜索google後,我寫了一個「Fill」方法,填充用戶控件中的所有DevExpress控件,並在父窗體的「Shown」事件中調用它。我認爲這是DevExpress的一個錯誤,因爲當我給他們各自的值時,所有Windows默認組件都可以正常工作。而已。

相關問題