自己写了个combobox多项匹配的控件,现在遇到一个小问题了,请高手指教~~

xubang2003 2008-06-20 11:52:21
...如题
把自己写的控件放在一个容器时,如何才能使combobox的下拉框超出该容器啊!
测试通过后散尽所有分!!!!!!!!!!!!!!!!!!
...全文
153 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
robgao 2008-07-11
  • 打赏
  • 举报
回复
2003的时候写过不大记得了。不过最近见过一个更牛的,不用Panel,用Form,
直接 frmSelect.Top=True
frmSelect.ShowDailog()
虽然有点过分,不过希望对你有用。。。。。。。

xubang2003 2008-06-26
  • 打赏
  • 举报
回复
坚持~~~~~~~~~~~~~
gh_li 2008-06-25
  • 打赏
  • 举报
回复
UP
xubang2003 2008-06-25
  • 打赏
  • 举报
回复
!!!ding~~~~~~
xubang2003 2008-06-24
  • 打赏
  • 举报
回复
哈哈~~这样好象也不行,如果我的下拉列表就在panel的最底端,那不就一个都显示不出来拉!
神之泪花 2008-06-24
  • 打赏
  • 举报
回复
做成动态的就是有个这个问题,

会影响整个GUI的布局...

那就这样,

下拉列表里的数据是FormLoad的时候就加载好的吧.

你读取数据的时候截取一下,

截取的高度以Panel的宽度为主.

也就是说,下拉列表里可能有20个选项,

而实际只显示16个,

不知道这样做跟设计相违背不?
xubang2003 2008-06-24
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jie8991 的回复:]
我觉得如果是外面Panel限制了自定义控件的显示,

那Panel里面你如何调整都可能达不到你想要的效果.

不知道是否可以把Panel拓宽呢?

也就是说,当点下拉条的时候,

判断一下,如果能显示下,就正常显示在Panel里

显示不下的时候,将Panel拓宽,来满足自定义控件的正常显示
[/Quote]
这种方法我也试过了,我把panel的autosize设置为true了,但是如果界面中有两个panel,或者两个group的话,界面效果就很难看了~~
神之泪花 2008-06-24
  • 打赏
  • 举报
回复
我觉得如果是外面Panel限制了自定义控件的显示,

那Panel里面你如何调整都可能达不到你想要的效果.

不知道是否可以把Panel拓宽呢?

也就是说,当点下拉条的时候,

判断一下,如果能显示下,就正常显示在Panel里

显示不下的时候,将Panel拓宽,来满足自定义控件的正常显示

xubang2003 2008-06-23
  • 打赏
  • 举报
回复
个人想法:是不是可以遍历一些界面所有控件,然后找到该listview,将其提到最上面~~具体如何实施,请高手帮忙
xjtuwjy 2008-06-23
  • 打赏
  • 举报
回复
up ~~~~~````
mzhao 2008-06-22
  • 打赏
  • 举报
回复
一定要用listview?我记得combobox利用的是一个类似popupWindow的东西。
用reflector看看System.Windows.Forms.dll中的System.Windows.Forms.DropDownList(忘了是不是这个类名)的代码。如果看得到,肯定很复杂,你得有足够的耐心抄代码(还不一定可行)。如果没有,那只能说明这是由CLR处理的,那就不好办了。

我暂时无法自己研究,抱歉。
xubang2003 2008-06-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yanlongwuhui 的回复:]
放Panel里面和直接让UserControl上都没有遇到过这问题,可以不受容器的限制的
[/Quote]
楼上的,没看明白你说的是什么意思?
我现在是用combobox+listview写的一个新的控件(命名coblist),listview是作为combobox的下拉框的,当把coblist放在一个panel上时,如果下拉菜单过长的话,会被panel覆盖掉
yanlongwuhui 2008-06-21
  • 打赏
  • 举报
回复
放Panel里面和直接让UserControl上都没有遇到过这问题,可以不受容器的限制的
xubang2003 2008-06-21
  • 打赏
  • 举报
回复
up ~~~~~````
xubang2003 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 jie8991 的回复:]
假设你是放在了一个Panel里面,

点击下拉条的时候,

最大只能显示在Panel的宽度范围内?
[/Quote]

是的,.net自带的combobox控件,如果拉下框不会受容器的限制,类似悬浮在窗体上~~
神之泪花 2008-06-20
  • 打赏
  • 举报
回复
假设你是放在了一个Panel里面,

点击下拉条的时候,

最大只能显示在Panel的宽度范围内?
xubang2003 2008-06-20
  • 打赏
  • 举报
回复
up ~~~~~~~~~~~~~`

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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