我正在尝试使用找到 here 的方法来创建一个自定义组合框,该组合框显示一个选择网格而不是内置列表下拉列表。该解决方案基本上只是覆盖 OnDropDown 方法,创建一个表单并显示它。但是,我发现单击向下箭头时也会显示内置下拉菜单。我的表格被绘制在它上面,但它确实显示了一小会。有任何想法吗?
protected override void OnDropDown(EventArgs e)
{
DropDownForm dropDown = new DropDownForm();
// Locate at correct location.
DropDownForm.Location = ...;
DropDownForm.Show();
}
最佳答案
在这种情况下,我会推荐自定义用户控件的简单性。与其试图规避默认行为(控件的设计目的),不如创建一个带有文本框和打开网格的按钮的用户控件。事实上,您可以将网格与下拉菜单捆绑在一起,并拥有一个完全可重用的控件。
关于c# - 在 Winforms 中,如何覆盖 ComboBox 的 OnDropDown 方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7742738/