首页 新闻 会员 周边 捐助

C#如何将一个窗体置整个程序之前

0
悬赏园豆:10 [已解决问题] 解决于 2008-12-11 11:39

我的意思是:这个窗体只置在它所在的程序之前,比如word里面的控制工具箱等。。。不过它不能置在电脑里面所有程序之前的。。。(窗体属性的TopMost为true是置所有程序之前的)

如下图:

问题补充: 注意,别在说用ShowDialog()了,这个东西是你必须关闭它才能操作其它窗体~~~我现在要的是单个控件(窗体)置顶但不占用焦点............
SAP梦心的主页 SAP梦心 | 初学一级 | 园豆:67
提问于:2008-12-05 15:30
< >
分享
最佳答案
0

1、Word里的工具箱不是一个独立完整的窗体,您如果设置窗体属性置前肯定不行;
2、使用MDI窗体应该可以达到您所述的效果,主窗体内放置类似Word的编辑区,而各个工具栏只是这个主窗体的子窗体,那么,除非您将主窗体设置为所有程序窗体置前,否则工具栏的窗体只会在主窗体之前,而不会在其他程序窗体之前。
不知道我说的您明白了没有!

似乎现在.Net本身或第三方控件有这样效果的工具栏控件,具体没有查找使用过,我想应该是有的,您不妨搜索一下,尤其是国外在.Net框架下的知名第三方控件厂商。【注意:也许要收费哦!】

刚刚 | 老鸟四级 |园豆:3151 | 2008-12-05 19:18
其他回答(5)
0

一楼说的不错,另外直接使用from1.ShowDialog();不就OK了。

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2008-12-05 21:39
0

from1.ShowDialog()

是可以放在实现你的消果的吧?

 

不过我觉得你消果是 word的tool bar 的类似功能 ,而不是 模式窗口的消果 ?

 

还请说明

杨发达 | 园豆:205 (菜鸟二级) | 2008-12-05 22:54
0

学习...

Jared.Nie | 园豆:1940 (小虾三级) | 2008-12-06 10:29
0

窗口的TOPMOST属性=TRUE,就是把此窗体至于所有窗口的前面而且不用关闭其他窗口,也不影响其他窗口操作,此窗口始终置Z坐标顶层。。。FORM1.TOPMOST=TRUE

XBW | 园豆:404 (菜鸟二级) | 2008-12-06 10:34
0

在 主窗体的 Dactive 事件中 判断你的 Toolbox 当前是否被激活,如果没有被激活,则说明当前程序已经失去焦点,这时将Toolbox 的TopMost设置为False.

在 主窗体的 Active 事件中将Toolbox 的TopMost设置为True.

eaglet | 园豆:17139 (专家六级) | 2008-12-06 12:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册