如何解决下拉列表超出panel边界的问题

程晨c 2013-09-12 01:00:32
窗体上放一个Panle,panel上放一个combobox, 发现combobox的下拉列表超出panle,被panle挡住了.
解决方法
通过修改窗体的Designer.cs文件,将combobox的容器改为窗体
但下拉内容还是被panel挡住了.

请教大家该如何解决.
...全文
490 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
颤菊大师 2013-09-12
  • 打赏
  • 举报
回复
最简单的是:ComboBox的父级在Form就可以。通过Left和Top进行定位。这样就不存在问题了。
assky124 2013-09-12
  • 打赏
  • 举报
回复
用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);
            _host.AutoSize = false;
            
            _ctrl.SizeChanged += new EventHandler(_ctrl_SizeChanged);
            this.Items.Add(_host);
        }


        public T DropControl
        {
            get { return _ctrl; }
        }

        private void _ctrl_SizeChanged(object sender, EventArgs e)
        {
            _host.Size = _ctrl.Size;
        }
    }

程晨c 2013-09-12
  • 打赏
  • 举报
回复
即使在窗体的构造函数中用用语句 control.parent=this 这样指定, 还是会被panel挡住的
程晨c 2013-09-12
  • 打赏
  • 举报
回复
我textbox和listview制作了一个类似comobox的自定义控件,在窗体中我将他放在panel的边缘,可是运行的时候下拉框看不见,不显示,而c#自带的comobox就可以显示出来,请问该怎么做才能使自定义控件也能在超过容器范围显示出来 (通过修改窗体的Designer.cs文件,将自定义控件的容器改为窗体,这种方法是不行的)
灬浪子灬 2013-09-12
  • 打赏
  • 举报
回复
Panle里面放的是listview?
引用 4 楼 seleron 的回复:
[quote=引用 3 楼 rui_china 的回复:] [quote=引用 2 楼 seleron 的回复:] [quote=引用 1 楼 rui_china 的回复:] 设置combobox的DropDownHeight 就可以控制下拉框的显示高度了
其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.[/quote] 那你可以可以设置计算combobox的DropDownHeight的高度啊[/quote] 我是用listview来写了一个自定义组件 listview没有dropdownheight属性[/quote]
程晨c 2013-09-12
  • 打赏
  • 举报
回复
引用 3 楼 rui_china 的回复:
[quote=引用 2 楼 seleron 的回复:] [quote=引用 1 楼 rui_china 的回复:] 设置combobox的DropDownHeight 就可以控制下拉框的显示高度了
其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.[/quote] 那你可以可以设置计算combobox的DropDownHeight的高度啊[/quote] 我是用listview来写了一个自定义组件 listview没有dropdownheight属性
灬浪子灬 2013-09-12
  • 打赏
  • 举报
回复
引用 2 楼 seleron 的回复:
[quote=引用 1 楼 rui_china 的回复:] 设置combobox的DropDownHeight 就可以控制下拉框的显示高度了
其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.[/quote] 那你可以可以设置计算combobox的DropDownHeight的高度啊
程晨c 2013-09-12
  • 打赏
  • 举报
回复
引用 1 楼 rui_china 的回复:
设置combobox的DropDownHeight 就可以控制下拉框的显示高度了
其实我用的是一个listview, listview的高度根据其Item的数量来自动调整.
灬浪子灬 2013-09-12
  • 打赏
  • 举报
回复
设置combobox的DropDownHeight 就可以控制下拉框的显示高度了

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧