C# WinForm如何根据数组生成CheckedListBox控件,并自适应最大的Items宽度

 

    配置人员在使用配置端时,会传入一组数组,客户端需要根据该数组自动生成相应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; 
    }
 }
 

   

 

        

              

 

 

 

 

根据提供的引用内容,WinForm中的PictureBox控件可以通过设置SizeMode属性为Zoom来实现加载的图片自适应PictureBox大小。\[1\]另外,CheckedListBox控件的CheckedIndices属性可以获取所有被选中的选项的索引,而CheckOnClick属性可以在用户单击时改变选项的状态。\[2\]PictureBox控件常用的属性还包括Image属性用于指定显示的图片,SizeMode属性用于控制图像和控件彼此适合的方式,以及AutoSize属性用于调整控件的大小以适合其显示的图片等。\[3\] 根据你的问题,如果你想在WinForm中选定一个PictureBox控件,你可以使用OpenFileDialog来选择一个图像文件,然后通过设置PictureBox的Image属性来显示选定的图片。你可以使用以下代码实现这个功能: ```csharp OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "图像文件|*.bmp;*.jpg;*.png;*.gif"; if (openFileDialog.ShowDialog() == DialogResult.OK) { string selectedImagePath = openFileDialog.FileName; pictureBox1.Image = Image.FromFile(selectedImagePath); } ``` 这段代码会打开一个文件对话框,让用户选择一个图像文件。当用户选择了文件点击了确定按钮后,选定的图片将会显示在PictureBox控件中。请注意,你需要将pictureBox1替换为你实际使用的PictureBox控件的名称。 #### 引用[.reference_title] - *1* [C#打开图片显示在pictureBox中(适应其大小保持原始比例)](https://blog.csdn.net/qq_44676409/article/details/109899836)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [浅学C#(17)——Winform程序设计之ListBox、CheckListBox、ComboBox、ListView、ImageList、TabControl、...](https://blog.csdn.net/le_17_4_6/article/details/86623267)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值