2014-11-05 35 views
0

C#windows窗體在這裏。而且我知道這個數據庫結構可能和克拉肯一樣糟糕,但這是我必須要處理的。數據庫中的表格包含與該問題相關的問題和字段名稱。舉例來說,如果問題是您今天進來的5個理由。字段名稱可以是沿着reason1,reason2,reason3,reason4,reason5的行。只是另一個例子,這可能描繪出這是怎麼設置窗體上的控件佈局

PollQuestion ----------- FieldName 
5 reasons you cam in? reason1 
         reason2 
         reason3 
         reason4 
         reason5 
Fav video you saw?  favorVideo 
Three improvements?  improve1 
         improve2 
         improve3 

愛特畫面更好,所以我需要的字段名排隊在一個符合有相應的問卷調查問題,所以應該這樣寫

PollQusetion1 --- reason1 reason2 reason3 reason4 reason5 
PollQuestion2 ---- favorVideo 
PollQuestion3 ---- improve1 improve2 improve3 

我正在輪詢數據庫並將投票問題&字段名存儲在兩個單獨的列表變量中,然後輸出到流佈局面板。我試圖使用這個邏輯來保持字段名與pollquestion在同一行,但它並不按需要工作。

if (pollquestion != "") { flowlayoutpanel1.SetFlowBreak(fieldname, true); } 

但是,這並沒有給我所需的輸出。能否有人在這方面有更多的經驗,請幫助我?如果需要進一步編碼,我也可以生產。在此先感謝所有查看,並提供見解!

編輯---- 111 這是輸出if語句給我 -

PollQusetion1 --- reason1 reason2 reason3 reason4 reason5 PollQuestion2 ---- favorVideo 
PollQuestion3 ---- improve1 improve2 improve3 

EDIT ------ 2222 這是一個像我所引用的如何,如果()聲明起作用。我需要將所有文本框放在同一行上,然後從第二個標籤測試文本開始,將texbox放在它自己的行上。 enter image description here

+0

什麼不工作? 'SetFlowBreak'或'if'?我的意思是,你是否在與邏輯鬥爭,或者你需要一些調試幫助(也就是爲什麼'SetFlowBreak'不工作)。 – Sinatr 2014-11-05 13:31:36

+0

@Sinatr我需要pollquestions&fieldnames在flowbreakout面板上顯示的佈局顯示不正確。 – MasterOfStupidQuestions 2014-11-05 13:37:40

+0

好的,'if'是否有效?你有沒有得到過'SetFlowBreak'?也許你的pollquestion是'null',你必須使用'string.IsNullOrEmpty()'。 – Sinatr 2014-11-05 13:39:17

回答

0

我想你應該嘗試使用TableLayoutPanel加上Panel

因此,從您創建的表格佈局開始,您可以創建兩列和多行問題。在第一列中,您輸入一個標籤(多行,Dock = Fill),您可以在其中輸入問題文本。在第二列中,您放置了一個面板(也可以填充停靠),您可以在其中插入所有您喜歡的文本框(或複選框,單選按鈕等),但是Dock = Top。

接下來的難點是確定每一行的高度。這可以通過簡單地計算每個問題的字段名稱數量並將其乘以每個選項佔用的一些幻數(例如20px)加上一些小填充(可能是5px)來實現。

+0

我無法設置dock = fill,因爲它們是data @ top。我可以將它設置爲僅填充底部還是給出x/y座標以開始填充? – MasterOfStupidQuestions 2014-11-05 15:14:32

+0

@MasterOfStupidQuestions:data @ top在哪裏?我只討論了表格佈局中所有元素的底座風格。我沒有提到表格佈局本身的底座風格。 – Oliver 2014-11-06 08:08:08

+0

但是,如果您有兩個控件,您可以設置一個(或多個)以停靠頂部,另一個則停靠填充。然後,你所有的頂級控制器將坐在頂部,並且充滿的控制器將佔用剩下的空間。如果這不適合你,你必須知道,如果碼頭物業訂單很重要。因此,在設計視圖中打開View - Other windows - Document Outline,並確保填充控件是第一個,所有其他都在它下面。在文檔大綱中,您可以更改此順序。 – Oliver 2014-11-06 08:12:49