2009-06-11 75 views
5

我發現c#(.net 2.0)中的表格佈局面板非常原始。我想讓我的用戶調整表格佈局面板中的列的大小,但沒有現成的選項可以這樣做。是否至少有一種方法可以確定光標是否直接位於單元格的任何邊界之上,如果是,哪個單元格位於其下?可能有這個信息,我們至少可以嘗試通過'代碼來調整行/列的大小。幫我找,c中的可調整表格佈局面板#

  • 光標是否是直接在單元格
  • 哪個小區其下(僅適用,如果第一個問題的答案)

許多感謝的任何邊界,

Sudarsan斯里尼瓦桑

+0

嗨sudarsanyes你曾經解決過這個問題嗎?我現在面臨同樣的問題。我的應用程序的用戶需要能夠在運行時在我的應用程序的tableLayoutPanel中調整行和列的大小 – 2013-07-02 20:36:14

回答

7

如果佈局並不複雜,也許你可以通過使用SplitContainer控制達到你想要什麼?不幸的是,每一個SplitContainer的將只有兩個「細胞」,但你可以嵌入在另一SplitContiner面板SplitContainer中,以獲得更多的可調整大小的細胞:

​​

好了,ASCII藝術是從來沒有的我更強的技​​能之一,但我想你明白了吧; O)

+0

這不是非常複雜和昂貴嗎? [你在ASCII藝術方面真的比我好:D] – sudarsanyes 2009-06-11 11:14:55

0

大廈的頂部@Fredrik Mörk's solution

嵌入另一個SplitContainer的(一個或多個)之後,唯一的缺點是,他們不會自動調整在一起,所以你很快就會失去表格視圖。一個解決辦法是建立一個SplitterMoved事件處理程序,每個應用的SplitContainer:

private void mySplitContainer_SplitterMoved(object sender, SplitterEventArgs e) { 
    mOtherySplitContainer.SplitterDistance = e.SplitX; 
} 

如果您的SplitContainer是橫向使用e.SplitX,如果它是垂直使用e.SplitY