我正在尝试在c#.net2.0中创建自己的自定义自动填充样式下拉控件。为了提高开发速度,我已经将我的控件建立为UserControl,但却遇到了这样做的问题。

当绘制自定义绘制的下拉列表时,我必须调整UserControl区域的大小以便能够显示选项列表。

理想情况下,我希望能够模仿drodpown列表行为,因为选项列表被绘制为“浮动”,并且不受UserControls高度和宽度(甚至父表单边界)的约束。工具提示是我想要的无约束“浮动”的另一个例子。

我能想到的唯一方法是动态创建一个没有边框或标题栏的新表单,并在需要弹出窗口时显示。

有更好(但也很快)的方法吗?

TIA

有帮助吗?

解决方案

您需要使用Form或NativeWindow来允许控件正确浮动。要使表单跟随控件很容易,但实现和处理所有聚焦/隐藏问题更加困难,尤其是在需要无缝Tab键/键导航时。

其他提示

您可以尝试创建基于ToolStrip下拉按钮控件的控件。我相信这个控件具有您正在寻找的功能。我找到了这个基于ToolStrip创建控件的参考,你可以尝试从这开始。

http://blogs.msdn.com/jfoscoding/attachment/1335869.ashx

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top