c# combobox向上展开

当C# ComboBox在屏幕下方空间不足时,通常会向下扩展,有时会导致超出窗体范围。本文介绍了一种解决方案,即通过自定义控件(使用textBox+button+listBox替代ComboBox),来实现ComboBox向上展开的功能。关键在于设置listBox的MultiColumn属性为false,滚动条为竖向,并处理显示问题。
摘要由CSDN通过智能技术生成

1.问题情境:实际中的下拉框默认向下扩展,如果屏幕下方空间不足,会向上扩展。

      向下扩展情况下,有时候会超出form窗体。

2.解决办法:

  寻找相关属性无果。

  退而求其次,重画item的框。发现DrawItem事件仅控制在下拉列表的范围内。

  再退,重写combobox,不如干脆自定义。textBox+button+listBox即可。

3.代码:

  仅显示关键代码:listBox的显示问题,默认不可见。

        //button:画有▼
        private void button2_Click(object sender, EventArgs e)
        {
            listBox1.Visible = !listBox1.Visible;
            listBox1.Focus();
        }

        //listBox
        private void listBox1_LostFocus(object sender,EventArgs e)
        {
            listBox1.Visible = false;
        }

        //窗体
        private void Form1_MouseClick(object sender, MouseEventArgs e)
        {
            listBox1.Visible = false;
        }

        //l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值