zoukankan      html  css  js  c++  java
  • 如何让组合框的宽度自动适应

    在Windows Forms应用程序开发过程中,我们经常会用到组合框(ComboBox),但它的那个下拉列表宽度是固定的,那么如何让它支持自动适应的宽度呢。下面是一个小例子

    using System;
    using System.Drawing;
    using System.Linq;
    using System.Windows.Forms;
    using System.IO;
    
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
    
                Load += new EventHandler(Form1_Load);
            }
    
            void Form1_Load(object sender, EventArgs e)
            {
    
                var dir = new DirectoryInfo("e:\\temp");
                var query = from f in dir.GetFiles()
                            select new
                            {
                                FullName = f.FullName,
                                Name = f.Name
                            };
    
                comboBox1.DataSource = query.ToArray();
                comboBox1.DisplayMember = "Name";
                comboBox1.ValueMember = "FullName";
    
    
                
                using (Graphics g = comboBox1.CreateGraphics())
                {
                    int widestWidth = comboBox1.DropDownWidth;
                    foreach (var item in query.Select(v=>v.Name))
                    {
                        int current = (int)g.MeasureString(item, comboBox1.Font).Width;
                        if (current > widestWidth) widestWidth = current;
                    }
                    comboBox1.DropDownWidth = widestWidth;
                }
    
            }
    
        }
    }
    
  • 相关阅读:
    安装mysql apache php smb
    解决IE8placeholder属性问题
    将博客搬至CSDN
    shell脚本获取配置文件中的内容
    shell sed指令全解
    salt一键部署hive
    salt一键部署habse
    salt一键部署kafka
    salt一键部署elasticsearch
    salt一键部署mysql
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1739590.html
Copyright © 2011-2022 走看看