我在C#中使用Visual Studio Express 2013. 我有CheckListBox,根據底層數據,我可以有不同數量的項目。我試圖根據項目數量調整CheckListBox的高度。 目前一旦項目列表填充我調用下面的方法來設置CheckListBox的高度:設置檢查列表框不工作的高度
private void SetPanelSize()
{
int top = tbInstructions.Height + 2;
int optionsHeight = 0;
for (int i = 0; i < cbOptions.Items.Count; i++)
{
optionsHeight += cbOptions.GetItemHeight(i);
}
cbOptions.Location = new Point(4, top);
cbOptions.Height = optionsHeight;
}
當我運行這一點,CheckListBox高度設置相當於一個項目比項目的數量少 - 即,如果有三個項目只有兩個可見,需要向下滾動才能看到第三個項目。 調試後,每個選項高度返回爲16.在三個項目的情況下,這將產生48的optionsHeight。但是,當分配的cbOptions.Height設置爲36.
我以前面的方式看到過我計算了高度 - 當我將其分配給高度時,我計算的值會發生變化。 發生了什麼事?我錯過了什麼嗎?在我看過的文獻(主要是MSDN)中,我沒有找到調整高度分配的參考。
任何幫助非常感謝。