日期:2014-05-17  浏览次数:20903 次

如何解决下拉列表超出panel边界的问题
窗体上放一个Panle,panel上放一个combobox, 发现combobox的下拉列表超出panle,被panle挡住了.
解决方法
通过修改窗体的Designer.cs文件,将combobox的容器改为窗体
但下拉内容还是被panel挡住了.

请教大家该如何解决.

------解决方案--------------------
设置combobox的DropDownHeight 就可以控制下拉框的显示高度了
------解决方案--------------------
引用:
Quote: 引用:

设置combobox的DropDownHeight 就可以控制下拉框的显示高度了


其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.

那你可以可以设置计算combobox的DropDownHeight的高度啊
------解决方案--------------------
Panle里面放的是listview?

引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

设置combobox的DropDownHeight 就可以控制下拉框的显示高度了


其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.

那你可以可以设置计算combobox的DropDownHeight的高度啊


我是用listview来写了一个自定义组件
listview没有dropdownheight属性

------解决方案--------------------
用ToolStripControlHost试试


    internal class AxDropDown<T> : ToolStripDropDown where T : Control, new()
    {
        private T _ctrl = null;
        protected ToolStripControlHost _host = null;

        public AxDropDown()
        {
            _ctrl = new T();
            _ctrl.Width = 200;
            _ctrl.Height = 200;
            
            _host = new ToolStripControlHost(_ctrl);