Vb.net 隐藏在按钮后面的组合框在单击事件时不触发

Vb.net 隐藏在按钮后面的组合框在单击事件时不触发,vb.net,winforms,vb6-migration,Vb.net,Winforms,Vb6 Migration,我正在将一个旧的VB表单转换为.NET,有几个按钮,每个按钮后面都隐藏着一个对应的组合框。之前的行为是单击按钮,然后触发按钮后面的组合框,然后下拉选择列表。我相信这个想法是要有一个静态的颜色和文本标签(在下拉列表中不能是一个可选选项),带有组合框的功能 现在,在VB.NET中,单击按钮(直接位于表单中ComboBox的上方)将不再触发ComboBox下拉列表。但是,如果我使组合框足够可见,可以单击,它将触发ComboBox.TextChanged事件,并显示下拉列表(它们被设置为DropDown

我正在将一个旧的VB表单转换为.NET,有几个按钮,每个按钮后面都隐藏着一个对应的组合框。之前的行为是单击按钮,然后触发按钮后面的组合框,然后下拉选择列表。我相信这个想法是要有一个静态的颜色和文本标签(在下拉列表中不能是一个可选选项),带有组合框的功能

现在,在VB.NET中,单击按钮(直接位于表单中ComboBox的上方)将不再触发ComboBox下拉列表。但是,如果我使组合框足够可见,可以单击,它将触发
ComboBox.TextChanged
事件,并显示下拉列表(它们被设置为
DropDownList
样式)。我已经将事件处理程序设置为同时处理该事件和按钮事件。我尝试了
按钮。鼠标向下
按钮。鼠标单击
,和
按钮。单击
——这些都不起作用

我确实找到了SplitButton控件选项,它可能会完成这项工作,但我不想只为3个按钮集成一个非本机控件。我也不想这样做,而且我也不确定这是否是一个解决方案


为什么组合框没有触发?

我不确定您到底想做什么。但您可以在按钮单击事件中将属性设置为True以触发下拉列表。应该是这样的


基本上,我正在尝试一个静态外观的组合框。这是以前通过将组合框隐藏在按钮后面,并在单击按钮时触发下拉菜单而“伪造”的。@Wingman 4l7我刚刚添加了一个图像,这就是你想要的吗?是的,这就是我要找的;这个解决方案听起来应该是可行的,但我正在测试它,它似乎不可行。我仍然很好奇,为什么在另一个控件“后面”的控件在其位置内发生单击时不会触发。@Wingman4l7该按钮处理单击事件,而组合框从未看到它。我刚刚在Button click事件中输入了ComboBox1.DroppedDown=True,它成功了。您想要的更像是中的路由事件WPF@Wingman4l7要进一步解释发生了什么,请看这个