我真的被这个原则所摧毁,我现在将解释。我确实使用了本文中提到的答案的代码(Combo box drop down width on suggest)。 在继承ComboBox时,代码工作正常。正如以下代码中所述:
public class ComboBoxEx : ComboBox
{
... //(See the code in the post: https://stackoverflow.com/questions/4820429/combo-box-drop-down-width-on-suggest)
private class ACWindow : NativeWindow
{
....
}
}
好吧,正如我上面所说,如果我在我的表单中使用ComboBoxEx类,这可以正常工作:我可以处理AutoComplete窗口的大小。 但是,如果我在UserControl中使用ComboBoxEx类,然后将UserControl插入到我的表单中,它将不再起作用。 从我理解的各种尝试(可能),ACWindow类的WndProc方法不会因任何原因而被执行。 为什么Windows消息没有转发到UserControl的子控件?
换句话说,我使用的代码几乎如下:
// UserCOntrol class declaration
public class MyCmbControl : UserControl
{
ComboBoxEx ExtendedCombo = new ComboBoxEx();
....
}
// Form class declaration
public class MyForm : Form
{
protected ComboBoxEx Cmb1 = new ComboBoxEx(); //-- This work fine!!
protected MyCmbControl Cmb2 = new MyCmbControl(); //-- This will no longer work
}
注意:
这一切都没有取得好成绩...... 我提前感谢你们给予我的帮助,并为我在这篇文章中使用的错误英语道歉!!!