首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么实现像系统软键盘那样的顶层窗体?让窗体能始终盖住已经设置为topmost的窗体,包括失去焦点时

2012-08-15 
如何实现像系统软键盘那样的顶层窗体?让窗体能始终盖住已经设置为topmost的窗体,包括失去焦点时?我的主程

如何实现像系统软键盘那样的顶层窗体?让窗体能始终盖住已经设置为topmost的窗体,包括失去焦点时?
我的主程序用的是一个全屏的topmost窗体。
现在需要做一个类似软键盘的东西。

软键盘窗体,我首先设置为浮动工具条窗体,不抢占焦点。

C# code
    #region 浮动工具条窗体    private const int WS_EX_TOOLWINDOW = 0x00000080;    private const int WS_EX_NOACTIVATE = 0x08000000;    // 浮动工具条窗体    protected override CreateParams CreateParams    {      get      {        CreateParams cp = base.CreateParams;        cp.ExStyle |= (WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW);        cp.Parent = IntPtr.Zero; // Keep this line only if you used UserControl        return cp;        //return base.CreateParams;      }    }    #endregion

然后设置了topmost,由主程序打开。
但是软键盘窗体在失去焦点时又会被主窗体盖住。
同时topmost,应该是谁获得焦点谁在最前边。

如何才能像系统软键盘那样始终显示在最顶层呢?
不管有没有得到焦点,始终能盖住已设置了topmost的窗体。

[解决办法]

c#中设置form属性topmost
[解决办法]
如何才能像系统软键盘那样始终显示在最顶层呢?
不管有没有得到焦点,始终能盖住已设置了topmost的窗体。


主窗体拉个panel实现软键盘平时隐藏,用的时候让其显示。

热点排行