从顶部降低控制高度

时间:2019-10-25 03:35:36

标签: c# winforms

有没有一种方法可以降低ToolStripDropDown距顶部的高度?我有一个自定义控件,该控件在键入数据时显示数据列表,其行为类似于TextBoxAutoCompleteMode.Suggest。当您在上面键入内容时,将显示该列表,并且ToolStripDown的高度在减小。此控件用于从数据库搜索/过滤数据。然后,用户可以通过单击项目来选择它,或者只需按Enter。

问题是ToolStripDropDown到达屏幕底部时,它与用于输入文本的控件重叠。

当列表到达屏幕底部时,我想要ComboBox之类的东西,它将列表显示在顶部。因此,对于我正在使用的控件,它将在TextBox的顶部显示列表,然后降低ToolStripDropDown的高度,使其接近TextBox

1 个答案:

答案 0 :(得分:0)

使用以下由here编写的Paul Williams中获取的代码来获取当前屏幕尺寸。然后通过使用ToolStripDropDown.SizeToolStripDropDown.Location

获取下拉列表的高度,找出需要从顶部重画下拉列表的位置
Form myForm;
Screen myScreen = Screen.FromControl(myForm);
Rectangle area = myScreen.WorkingArea
相关问题