作者Privator (普莱斐特)
看板Visual_Basic
标题Re: [.NET] 请较一个关於TreeView的问题..
时间Wed Apr 8 22:53:55 2009
※ 引述《Privator (普莱斐特)》之铭言:
: 标题: [.NET] 请较一个关於TreeView的问题..
: 时间: Sun Mar 29 11:51:46 2009
:
: 我不知道这算是问题还是VB.NET 原本就有的bug,在微软网站上好像有看过
: 有人反应过一样的问题, 不过没人回应..
: 我使用的软体版本是VS.NET 2005,使用VB.NET开发Windows 应用程式..
: 我在Form上拉个一个TreeView, 设了一些节点, 想依使用者点选不同的节点
: 打开其他不同的Form, 因此在Treeview_AfterSelected()加了form.show()
: 的程式码, 现在问题来了, 在使用者点选节点以後, 新的form会打开, 但是
: 却是显示在原来的form的後面, 我试过另外拉一个button, 在button_click
: 写一样的程式不会有这样的问题, form会很正常的显示在原form的前面..
: 目前试过的解决方式如下:
: 1.将程式码从TreeView_AfterSelect搬到Treeview_NodeMouseClick,结果没
: 用..
: 2.将form.show 改成form.showdiag,会显示在前面没错, 可是我不希望用
: showdialog(), 这样它会变成对话框, 不关掉就不能使用原form..
: 3.在form.show 以後加上原form.SendToBack 或是新form.BringToFront,结
: 果没用..
: 4.设定新form的TopMost,会显示在前面, 可是这个form会变成永远在上方..
:
: 请问各位知不知道是为什麽? 有没有办法避免这样的问题??
: --
: 推 mraaa:你的Form.Show()要用有Owner引数的那个把Me填进去就可以了 03/31 15:05
: → Privator:试过以後是OK的..谢谢.. 04/01 19:06
抱歉我又回来了.. ^^;
一开始试的时候以为是OK的, 但是後来发现, 开出来的form其实就是原form
的child form, 它的behavior其实和ShowDialog()差不多.. :((
我要的是用第一个form打开第二个form, 但是两者并无关联性, 可以在第二
个form打些资料以後又回到第一个form..
其实我觉得这和TreeView的行为模式有关, 它可能在AfterSelect 以後又做
了什麽事把focus 又转回原form, 用button_click做Form.show 并不会有这
样的问题..
如果有人有其他的解法的话请提供, 感激不进.. ^^;
--
“我打算每天清晨起床,整天呼吸,过阵子我就不必提醒
自己起床呼吸;再过一阵子,我就不会想起过去的甜蜜。”
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.137.140.143