有时,AutoSuggest下拉列表可能会在您将鼠标移动到其中一个项目上以选择它时自动关闭。解决此问题的一种方法是在窗口表单组合框的MouseDown事件中添加以下代码:
private void comboBox1_MouseDown(object sender, MouseEventArgs e) { if (comboBox1.DroppedDown) { Rectangle r = comboBox1.RectangleToScreen(comboBox1.ClientRectangle); if (!r.Contains(MousePosition)) { comboBox1.DroppedDown = false; } } }
此代码段将检测当组合框具有下拉样式时,用户是否在下拉列表项的区域之外单击了鼠标。如果是,则关闭下拉列表。这将确保用户可以选择下拉列表中的项目,而无需担心在鼠标移动期间自动关闭它。
另一个解决方案是停用AutoCompleteMode属性并将DropDownStyle属性设置为DropDown。这将使下拉列表保持打开状态,直到用户手动将其关闭。