2011-06-09 108 views
1

我正在創建一些更復雜的控件,其中包含已定義的控件以供我正在使用的應用程序使用。ListView包含在自定義控件中

我有一個問題,我試圖「繪製」一個表(視圖=詳細信息)的ListView控件。我爲我的ListView和幾行添加了列標題。頭文件和行可以在設計器中從我的自定義活動中看到,但是當我在Windows窗體上添加自定義控件時,無論是在設計器上,在執行應用程序時都看不到它們。自定義活動還包含其他預定義控件:ListBox,TextBox等,它們都正確顯示,但ListView不是,我無法找到任何合理的解釋。我也做了一些調試,並觀察到項目在那裏,但只是沒有在窗體中顯示。

有人有任何想法我可以解決這個問題? :)

+0

請顯示一些代碼。我有不好的想象力來創建精確的形象在我的心中,你的控制和問題:) – Reniuz 2011-06-09 08:23:12

+0

檢查ListView的Visible屬性? – CharithJ 2011-06-09 10:43:36

回答

0

謝謝你,爲試圖幫助我。

我用一種非常優雅的方式來解決問題,但它的工作原理之一。如果有人需要類似問題的幫助,我會添加我的解決方案。

我不知道它是否可以從我的問題中理解,但我從設計者創建了自定義控件。看起來,如果在自定義控件上添加ListView,那麼生成Designer文件會有一個小錯誤。出於某種原因,在設計器中添加的列不會添加到* .Designer文件中,我手動添加它們並解決問題。應該在這種情況下,所添加的代碼行會是這樣的:

this.myListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { 
     this.myColumnHeader1, 
     this.myColumnHeader2, 
     this.myColumnHeader3}); 

     // 
     // myColumnHeader1 
     // 
     this.myColumnHeader1.Text = "My Column Header1"; 
     this.myColumnHeader1.Width = 100; 
     // 
     // myColumnHeader2 
     // 
     this.myColumnHeader2.Text = "My Column Header 2"; 
     this.myColumnHeader2.Width = 100; 
     // 
     // myColumnHeader3 
     // 
     this.myColumnHeader3.Text = "My Column Header 3"; 
     this.myColumnHeader3.Width = 100; 

我也必須指出,通過對自定義控件設計師添加ListView控件時,這個問題只能觀察,如果是直接添加到Windows窗體* * .Designer文件將被保存好。

0

call BringToFront();列表視圖的方法

或在設計時從文本菜單做這個(右擊控制和選擇這些項目)

或機頂盒並在代碼左側列表視圖的可見區域