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;
                }
    
            }
    
        }
    }
    
  • 相关阅读:
    vue项目中兼容ie8以上浏览器的配置
    vue项目中event bus的简单使用
    js中的正则表达式小结1
    sourceTree跳过注册
    日期时间格式化
    阿里矢量图标库的使用
    mySql 常用命令
    php 常用的系统函数
    php mySql常用的函数
    php 关于php创建 json文件 和 对文件增删改查 示例
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1739590.html
Copyright © 2011-2022 走看看