后,我试图让能够容纳字符串变量量,并调整它通过编程方式更改此控件的高度是高度动态控制。重新调整项目计划调整大小
到目前为止,我已经尝试了经过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