当前位置:编程学习 > C#/ASP.NET >>

想知道关于TreeView控件的NodeMouseClick事件(WinForm)运行机制

现在正打算用TreeView控件作为一个树状的菜单, 叶子节点点击了之后打开一个新的窗体。
就这么个功能, 应该是很简单, 而且基本上也实现了。但是现在遇到一个头疼的问题。

frmMenu  '这个是菜单窗体
frmSubSystemA   '要打开的窗体

在NodeMouseClick事件里, 在Show了要打开的窗体了之后, 按照习惯的理解应该是frmSubSystemA处于激活的状态
也就是frmSubSystemA应该在frmMenu的“上面”。
但是不管怎么设置frmSubSystemA的Active都没有用, 在触发了NodeMouseClick事件之后,frmMenu永远都是在“最上面”

是不是NodeMouseClick事件在后续的事件内容里,需要TreeView控件所在的窗体一直处于激活状态才行呀?

各位有知道, 或者能给点提示、建议的都行。
要是有已经解决了的, 那就更感谢了。 --------------------编程问答-------------------- frmMenu 你是不是设置了topmost属性 --------------------编程问答-------------------- ShowDialog()



--------------------编程问答--------------------
引用 1 楼  的回复:
frmMenu 你是不是设置了topmost属性


TopMost属性是最先确认的, 他是False
所以才来问问 --------------------编程问答--------------------
引用 2 楼  的回复:
ShowDialog()


模式弹出的话, 这样就不能再次操作Menu了, 要可以多次选择菜单
--------------------编程问答-------------------- 试了
果然是有问题的
要以这样试试:
在frmSubSystemA的Shown事件里处理

        private void frmSubSystemA_Shown(object sender, EventArgs e)
        {
            if (!this.Focused)
            {
                this.BringToFront();
            }
        }




--------------------编程问答-------------------- TO SocketUpEx

好的, 这个我明天试试, 但是从事件的触发顺序上来看, 感觉还是不能起作用。
明天试了再来说说 --------------------编程问答-------------------- TO SocketUpEx

非常感谢!  按照你的方法, 问题已经解决了

这么看来, Shown事件应该是在最后被触发了
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,