2009-09-30 45 views
0

代码:什么是我的代码在这里缺少..如何达到同样的?

[DllImport("AYGShell.dll")] 
    static extern Int32 SHFullScreen(IntPtr hwndRequester, UInt32 dwState); 

    public const UInt32 SHFS_SHOWSIPBUTTON = 0x0004; 
    public const UInt32 SHFS_HIDESIPBUTTON = 0x0008; 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void OnPaint(object sender, PaintEventArgs e) 
    { 
     HideSipButton(); 
    } 

    private void HideSipButton() 
    { 
     UInt32 dwState = SHFS_HIDESIPBUTTON;//: SHFS_SHOWSIPBUTTON; 
     SHFullScreen(this.Handle, dwState); 
    } 

HI,上面的代码工作中首先推出的WindowsMo​​bile中的一种形式的罚款,它隐藏在Windows Mobile上, 形式的SIP按钮,但如果我点击菜单栏上的SIP-按钮再次出现..我不没有如何完全消除SIP按钮..请帮助我如何解决这个问题..

我觉得我不希望sip按钮在windowsmobile中的窗体..我使用的是.net CF

谢谢

+0

你看到这个http://msdn.microsoft.com/en-us/library/microsoft.windowsce.forms.inputpanel%28VS.85%29.aspx? 和这个问题(不知道它会帮助你):http://stackoverflow.com/questions/323874/how-to-show-hide-sip-on-pocket-pc – Shaihi 2009-09-30 15:11:22

+0

谢谢, 我会尝试,但是不使用任何面板here.its默认面板。有可能是简单的技术来隐藏..所以我正在寻找。 – Naruto 2009-09-30 15:17:42

回答

1

当你说你点击“菜单栏”时,你是在谈论一个你已经写过的自定义栏或者是在所有程序顶部的标准栏(包括开始菜单,时钟等)(全屏除外那些)?

如果你正在谈论正常的开始菜单栏,当你点击它时,你的程序不再是活动的,这就是为什么SIP按钮被重新绘制的原因。如果是这种情况,您可以使用Activated事件尝试再次隐藏SIP按钮。

特别注意:此代码只会在用户再次单击表单时重新隐藏SIP按钮,直到发生此情况时才会运行。

这里有什么我描述了一个想法:

public Form1() 
{ 
    InitializeComponent(); 
    this.Activated += new EventHandler(Form1_Activated); 
} 

private void Form1_Activated(object sender, EventArgs e) 
{ 
    HideSipButton(); 
} 

private void OnPaint(object sender, PaintEventArgs e) 
{ 
    HideSipButton(); 
} 
+0

嘿,它的工作原理..只在第一个例子..如果我点击第一个SIP按钮出现,然后如果我点击SIP按钮,它会调用绘画事件,然后再次它将被隐藏..当我点击菜单栏既不形式激活或绘画事件不会来。 – Naruto 2009-09-30 15:29:59

0

覆盖的Form.OnActivated方法和调用HideSipButton。 E.x:

protected override void OnActivated(EventArgs e) 
{ 
    HideSipButton(); 
    return base.Equals(e); 
} 
+0

为什么重写它,当你可以附加到事件? – Joshua 2009-09-30 15:21:26

+0

从'备注'部分。 “OnActivated方法还允许派生类在不附加委托的情况下处理事件。覆盖此方法是在派生类中处理事件的首选技术。” - http://msdn.microsoft.com/en-us/library/system.windows.forms.form.onactivated.aspx – 2009-09-30 16:26:54

+0

有趣的是,我不知道。 – Joshua 2009-09-30 17:36:07

相关问题