2010-06-18 63 views
0

我有一張約450行的表格,我希望在圖形列表中顯示供用戶查看或修改行項目的表格。用戶將是從組合框選擇選項和選擇複選框等。將控件嵌入到列表/網格中的最佳方式

我發現了一個listview類,它擴展了基本的listview以允許嵌入對象,但是當我將所有行加載到它時,它似乎有點呆板。

我已經使用過datagridview組合框和複選框,但有很多時間投入到啓動和運行...不是我的大喜。

我在尋找sugestions如何以最小的開銷做到這一點。

感謝

C#,VS2008,.NET 2.0,System.Windows.Forms的

回答

1

如果你有每行一組複雜的控制,這是做到這一點的最簡單方法。但是,它不會像列表框那樣工作。您將無法突出顯示行或使用鍵盤進行導航。

  • 創建具有公共屬性用戶控件指向您行
  • 畫出你的窗體上的面板 - 你會在運行時添加的「行」用戶控件的實例來此面板。
  • 設置面板自動滾動(也設置屬性,使主動控制滾動到視圖)
  • 設置面板的錨屬性,因此它長w /窗口
  • 您可以設置窗體的最大/最小尺寸屬性,以便完整的用戶控件行總表(必須做的,以防止面板HORIZ。滾動條)
  • 有一個常規添加的行
  • 在一個循環中,創建新的用戶控件,設置其屬性,包括在數據表中的行
  • 此外,將.Top屬性設置爲面板的.controls(pnl.controls.count-1)但你添加的第一個

非常簡單,允許複雜的'行',完成工作。有更好的方法可以做到這一點,如果你想要類似listbox的功能而不用自己編寫代碼,但你可能不需要。

+0

+1您可以將每個行控件停靠在頂部,然後通過將它們放在前面/將它們發送回去對其進行重新排序。 – dlras2 2010-06-18 17:07:47

相關問題