簡體   English   中英

將控件嵌入列表/網格的最佳方法是什么

[英]What is the best way to embed controls in a list/grid

我有一個約450行的表格,希望將其顯示在圖形列表中,以供用戶查看或修改訂單項。 用戶將是組合框中的選擇選項,並選中復選框等。

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

過去,我曾將datagridview用於組合框和復選框,但是花了很多時間來啟動和運行它……不是我的最愛。

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

謝謝

c#,vs2008,.net 2.0,system.windows.forms

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

  • 創建具有公共屬性的用戶控件以指向您的行
  • 在窗體上繪制一個面板-您將在運行時將“行”用戶控件的實例添加到此面板。
  • 將面板設置為自動滾動(還設置屬性以使活動控件滾動到視圖中)
  • 設置面板的Anchor屬性,使其具有窗口大小
  • 您可以設置表單的最大/最小尺寸屬性,以便始終顯示完整的usercontrol行(必須這樣做以防止面板中出現水平滾動條)。
  • 有一個例程來添加行
  • 在循環中,創建新的用戶控件,設置其屬性,包括數據表中的行
  • 此外,將除添加的第一個屬性之外的所有屬性都設置為面板的.controls(pnl.controls.count-1)的.Top屬性。

非常簡單,允許復雜的“行”完成工作。 如果您想要類似列表框的功能而不自己編寫代碼,則有更好的方法來執行此操作,但是您可能不需要這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM