的应用程序的背景仍然存在,当我按下后退按钮。有谁知道我能做什么,以防止这种情况发生? 如果我使用Application.Exit(),它可以工作。C#的Windows Mobile标准 - 后退按钮将不会关闭应用程序
在此先感谢 爱计算器:)
的应用程序的背景仍然存在,当我按下后退按钮。有谁知道我能做什么,以防止这种情况发生? 如果我使用Application.Exit(),它可以工作。C#的Windows Mobile标准 - 后退按钮将不会关闭应用程序
在此先感谢 爱计算器:)
我不知道你在“后退按钮”的意思是什么,但所有的应用程序在Windows Mobile的默认行为是“X”按钮该应用程序将是标准Windows中的“关闭”按钮,实际上的行为与“最小化”相似,并将应用程序移至背景。
要真正“亲密”的应用程序,你通常会进入windows mobile的任务管理器,结束应用程序。
在很多WM设备上,除了“确定”按钮外,还有一个“后退”按钮,用箭头表示。我认为正常的行为是立即将用户弹出到今日屏幕。我认为这是他正在谈论的按钮。我不知道如何改变或掩盖按钮的行为,因为它通常不会被KeyDown事件或其他事件识别。 – 2009-10-08 20:31:44
ooooh,'后退'硬件按钮......更有意义。我自己有一个三星Omnia(触摸屏),所以我没有考虑任何硬件按钮。抱歉! – CodingWithSpike 2009-10-09 17:41:44
您可以使用本机功能AllKeys
并将Form.KeyPreview
设置为true以在用户按下硬键时接收KeyDown事件。将KeyDown事件处理程序添加到窗体中,在KeyDown处理程序中放置一个断点并按下“返回”按钮并检查KeyEventArgs.KeyCode
的值。您可以将KeyEventArgs.Handled
设置为true以防止Windows Mobile处理硬件按键。
这里是PInvoke的信息:
[DllImport("coredll.dll", SetLastError = true)]
static extern bool AllKeys(bool bAllKeys);
呼叫AllKeys(真)接收的KeyDown事件的硬件按键。调用AllKeys(false)以停止接收硬件密钥的KeyDown事件。这个功能没有官方文档,但是它自从Pocket PC 2003以来一直存在。请参阅here了解更多信息。
后退按钮是一款Windows Mobile标准版(智能手机)功能,通常是不存在的,在Windows Mobile Professional或经典(掌上电脑)设备。
在本机OS级别以下MSDN文章,题为“The Back Button and Other Interesting Buttons”描述的默认行为,以及如何重写或者改变它。
内.NET CF环境采取MSDN可看看“How to: Override the Smartphone Back Key”的文章。例如,在表单类中,您应该可以执行类似下面的操作。
// Connect an event handler to the KeyPress event
this.KeyPress += new KeyPressEventHandler(OnKeyPress);
private void OnKeyPress(object sender, KeyPressEventArgs ke)
{
// Determine if ESC key value is pressed.
if (ke.KeyChar == (Char)Keys.Escape)
{
// Handle the event to provide functionality.
ke.Handled = true;
// Add your event handling code here.
MessageBox.Show("Back key was pressed.");
}
}
在Windows Mobile中,您通常不会结束进程。使用[X]按钮关闭应用程序时,或者当您转到主屏幕时,通常会使应用程序继续运行。
在Windows Mobile的应用程序并不需要非常多的内存,因为它不会从硬盘复制到RAM。它只停留在同一个RAM点上,只是现在它是“活动的”。自然,您的应用程序应该表现良好,在没有关注时尽可能减少资源占用。
如果你不想要这种行为,当表单失去焦点时,你可以退出应用程序(Application.Exit())。您可以通过LostFocus事件轻松捕捉到这一点。
难道是我的设备上的“后退按钮”是打印红色电话的那个?
你是什么意思的后退按钮..? 您能否正确解释您的查询。 – Naruto 2009-10-09 10:01:52