配置人员在使用配置端时,会传入一组数组,客户端需要根据该数组自动生成相应CheckedListBox控件的Items项。这是前两天项目的需求,做个小记录吧!
1.生成控件:接收传入的数组,循环遍历该数组,得到SArray,将其添加到CheckedListBox的Items。(其他控件类似)
private void ControlArrayAdd()
{
CheckedListBox ch = new CheckedListBox();
ch.Location = new Point(10, 20);
ch.Size = new Size(100, 100);
string[] array = { "选项1", "选项2", "选项3" };
foreach(string SArray in array)
{
ch.Items.Add(SArray);
this.Controls.Add(ch);
}
}
2.自适应最大Items宽度:
CheckedListBox chb = new CheckedListBox();
private void CheckedStringAdd()
{
chb.Location = new Point(20, 20);
chb.Size = new Size(70, 90);
for (int i = 0; i < 11; i++)
{
chb.Items.Add("RRRRRRRRRRRRRRRRRRRRR" + i.ToString());
this.Controls.Add(chb);
//获取Items字符串的长度
SizeF fSize = chb.CreateGraphics().MeasureString(chb.Items[0].ToString(),chb.Font);
chb.Width = Convert.ToInt32(fSize.Width) + 40;
}
}