2011-10-31 86 views
1

你有什么想法如何显示ContextMenuStrip而不会将焦点集中到当前控件上?我想用下面的TextBox和ContextMenuStrip做一些自动完成的选项作为选项列表。但是,无论何时我显示ContextMenuStrip,它都会从文本框中窃取焦点,所以我无法再捕获Text_Changed ...我想使用ContextMenuStrip,因为我想在给定项列表中使用图片或其他控件。ContextMenuStrip没有窃取焦点

感谢

+0

您不能使用CMS,它被设计为在失去焦点时自动关闭。使用带有DrawMode属性集的ListBox。 –

+0

是的,结束了这个解决方案... – Voleman

回答

0

不知道你的意思是“不能赶上Text_Changed”又是什么?我可以想象这样的事情应该工作:

// event registered to text box's text changed event 
private void HandlerForTextChanged() 
{ 
    // Get The Current Text So Far Filled In 
    // Process and Show Contextmenu strip 
    // Reset the focus back to text box (textbox1.SetFocus()) 
} 

此外,也可以考虑重新designig控制为一体的复合控件。

+0

它不起作用。在显示上下文菜单后,textbox1.Focus()不提供焦点 –