关于如何重载ComboBox 使其下拉按钮(带下箭头的)和下拉列表的垂直滚动条的宽度改变的问题,通过自绘自定义控件得以解决。 ComboBoxDIY.cs文件 //ComboBoxDIY.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; namespace WindowsApplication7 { public partial class ComboBoxDIY : UserControl { public bool buttondown = false; public ComboBoxDIY() { InitializeComponent(); this.listBox1.Visible = false; this.vScrollBar1.Visible = false; } private void button1_Click(object sender, EventArgs e) { //下拉按钮未曾按下 if (this.buttondown==false) { //listbox所有数据的项数 int count = this.listBox1.Items.Count; //获取listbox所能显示的项数 int displaycount = this.listBox1.Height / this.listBox1.ItemHeight; //滚动条显示的最大值 int scrollmax = 0; //垂直方向上显示内容数目大于所能显示的数目时 //垂直滚动条直接可见 if (count > displaycount) { scrollmax = count - 1; this.vScrollBar1.Visible = true; }