2

我正在尝试在 c# .net2.0 中创建自己的自定义自动完成样式下拉控件。为了加快开发速度,我将控件构建为 UserControl,但遇到了这样做的问题。

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

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

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

有没有更好(但也更快)的方法来做到这一点?

TIA

4

2 回答 2

1

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

于 2009-04-29T14:18:13.890 回答
1

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

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

于 2009-05-01T21:23:29.263 回答