当DropDownStyle为Simple时,ToolStripCombobox显示在屏幕的左上角
当我将DropDownStyle
设置为Simple
时,我有一个ToolStripCombobox
。 第一次打开菜单时,它会显示在屏幕的左上角。 但是,当我第二次选择相同的项目时,它会显示在正确的位置。
有没有办法阻止代码显示屏幕左上角的列表?
预先感谢您的任何帮助。
第一次
第二次
要解决此问题,请将此代码放在表单的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
。