後,我試圖讓能夠容納字符串變量量,並調整它通過編程方式更改此控件的高度是高度動態控制。重新調整項目計劃調整大小
到目前爲止,我已經嘗試了經過ListBox和ListView控件。
列表框一直顯示一個水平滾動條,即使它已經被設置爲false。 ListView控件看起來更有前途,但它拒絕重新調整在框中的項目:
public partial class Form1 : Form
{
string[] content =
{
"Lorem",
"ipsum",
"dolor",
"sit",
"amet",
"consectetur",
"adipiscing",
"elit" ,
"Integer" ,
"commodo" ,
};
ListView listView1 = new ListView();
public Form1()
{
InitializeComponent();
listView1.Size = new System.Drawing.Size(300, 22);
listView1.Font = new Font(FontFamily.GenericMonospace, 10);
listView1.CheckBoxes = true;
listView1.View = View.List;
listView1.Scrollable = false;
this.Controls.Add(listView1);
groupBox1.Controls.Add(listView1);
foreach (string str in content)
{
listView1.Items.Add(str.PadRight(12));
}
}
private void Form1_Load(object sender, EventArgs e)
{
listView1.Height = 100;
}
}
如果我移動listView1.Height = 100;
在類的構造函數會工作,所以顯然這就是問題所在。我似乎無法找到這個問題的根源是什麼......我應該調用列表框的某個成員函數來重新放置它的項目嗎?
更新 擺弄經過一些似乎行爲可以通過使用設計器將項目添加到列表中,將所有的主播也轉載,捕捉到形式的邊緣並在運行時調整形式。然後,再次,這些項目不會重新調整。仍然堅持如何強制重新定位列表視圖中的項目。
負載事件是否正在觸發?如果是這樣你嘗試listView1.Refresh()? – Belmiris 2012-08-16 13:56:36
@Belmiris是的,但問題不在於listview沒有調整大小;它是完美的。列表視圖中的項目保持原樣:單行和控件外部。如果你能找到時間,只需將上面的代碼粘貼到一個空白的窗體項目中,你就會明白我的意思了。 – Nebula 2012-08-16 14:03:36
找不到解決方案 - 但使用不同的視圖設置(如SmallIcon)不存在此問題。只是不要設置ImageList。 – 2012-08-16 20:10:33