我有一个 ToolStripCombobox
,当我将其 DropDownStyle
设置为 Simple
时。我第一次打开菜单时,它显示在屏幕的左上角。
但是,当我第二次选择同一项目时,它会显示在正确的位置。
有没有办法阻止代码在屏幕左上角显示列表?
预先感谢您的帮助。
第一次
第二次
最佳答案
要解决这个问题,请将此代码放入以下形式的 Load
事件中:
var item = toolStripComboBox1;
var createControl = item.Control.Parent.GetType().GetMethod("CreateControl",
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
createControl.Invoke(item.Control.Parent, new object[] { true });
这是一个奇怪的错误,我不知道为什么 DisplayStyle
设置为 Simple
的 ToolStripComboBox
会遭受此错误,但是将 DisplayStyle
设置为 DropDown
或 DropDownList
则不会出现此错误。
使用上面的代码,我强制在显示之前创建所有者ToolStripDropDownMenu
。
关于c# - 当 DropDownStyle 为 Simple 时,ToolStripCombobox 显示在屏幕左上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40390885/