想知道关于TreeView控件的NodeMouseClick事件(WinForm)运行机制
现在正打算用TreeView控件作为一个树状的菜单, 叶子节点点击了之后打开一个新的窗体。就这么个功能, 应该是很简单, 而且基本上也实现了。但是现在遇到一个头疼的问题。
frmMenu '这个是菜单窗体
frmSubSystemA '要打开的窗体
在NodeMouseClick事件里, 在Show了要打开的窗体了之后, 按照习惯的理解应该是frmSubSystemA处于激活的状态
也就是frmSubSystemA应该在frmMenu的“上面”。
但是不管怎么设置frmSubSystemA的Active都没有用, 在触发了NodeMouseClick事件之后,frmMenu永远都是在“最上面”
是不是NodeMouseClick事件在后续的事件内容里,需要TreeView控件所在的窗体一直处于激活状态才行呀?
各位有知道, 或者能给点提示、建议的都行。
要是有已经解决了的, 那就更感谢了。 --------------------编程问答-------------------- frmMenu 你是不是设置了topmost属性 --------------------编程问答-------------------- ShowDialog()
--------------------编程问答--------------------
TopMost属性是最先确认的, 他是False
所以才来问问 --------------------编程问答--------------------
模式弹出的话, 这样就不能再次操作Menu了, 要可以多次选择菜单
--------------------编程问答-------------------- 试了
果然是有问题的
要以这样试试:
在frmSubSystemA的Shown事件里处理
private void frmSubSystemA_Shown(object sender, EventArgs e)
{
if (!this.Focused)
{
this.BringToFront();
}
}
--------------------编程问答-------------------- TO SocketUpEx
好的, 这个我明天试试, 但是从事件的触发顺序上来看, 感觉还是不能起作用。
明天试了再来说说 --------------------编程问答-------------------- TO SocketUpEx
非常感谢! 按照你的方法, 问题已经解决了
这么看来, Shown事件应该是在最后被触发了
补充:.NET技术 , VB.NET