1
我正在動態地將控件添加到FlowLayoutpanel控件。我添加到flowlayoutpanel的控件是包含兩個控件的面板:不同大小的標籤和固定大小的組合框。Winforms - 面板中的控件被修剪
問題是標籤和組合框水平顯示在其包含面板(以及我認爲)。組合框被裁剪並幾乎看不見。我已經嘗試將每個面板的Autosize屬性設置爲true,但這沒有幫助。
有沒有一種方法來從上到下佈局控制面板(堆疊它們)? flowlayoutpanel是否會成爲問題?
感謝您的幫助!
private void PopulateQuestionFlowPanel()
{
foreach (var question in _viewModel.Questions)
{
//build question label
var questionLabel = new Label();
questionLabel.Text = question.Text;
questionLabel.Tag = question.Id;
//build answer combobox
var answerCombo = CreateQuestionComboBox(question);
//put question and answer into panel
var controlPanel = new Panel();
controlPanel.Tag = question.Id;
controlPanel.AutoSize = true;
controlPanel.Controls.Add(questionLabel);
controlPanel.Controls.Add(answerCombo);
//add panels to flowpanel
questionPanel.Controls.Add(controlPanel);
}
}
Panel控件不提供自動佈局。設置標籤和組合的位置和大小屬性。或者使用UserControl。或者先在設計人員中完成這項工作,然後查看設計人員生成的代碼以獲得正確的結果。 –
謝謝..我認爲usercontrol是一個好主意 – Nick
@HansPassant用戶控制解決方案很好地工作。如果你添加一個答案,我會選擇它。 – Nick