戻るボタンを押しても、アプリの背景がまだ残っています。これを防ぐために私に何ができるか知っている人はいますか?Application.Exit() を使用すると、機能します。
よろしくお願いしますスタックオーバーフローが大好きです:)
戻るボタンを押しても、アプリの背景がまだ残っています。これを防ぐために私に何ができるか知っている人はいますか?Application.Exit() を使用すると、機能します。
よろしくお願いしますスタックオーバーフローが大好きです:)
戻るボタンは、Windows Mobile Professional または Classic (ポケット PC) デバイスには通常存在しない Windows Mobile Standard (スマートフォン) 機能です。
ネイティブ OS レベルでは、「戻るボタンとその他の興味深いボタン」というタイトルの次の MSDN 記事で、デフォルトの動作とそれをオーバーライドまたは変更する方法について説明しています。
.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 のデフォルトの動作は、標準の Windows の「閉じる」ボタンになるアプリの「X」ボタンが実際に動作することです。 「最小化」のように、アプリをバックグラウンドに移動します。
アプリケーションを実際に「閉じる」には、通常、Windows モバイル タスク マネージャーに移動して、アプリケーションを終了します。
Windows Mobile では、通常、プロセスを終了しません。[×]ボタンでアプリを閉じるときや、ホーム画面に移動するときは、アプリを起動したままにしておくのが一般的です。
Windows Mobile のアプリは、ハード ディスクから RAM にコピーされないため、それほど多くのメモリを必要としません。同じ RAM スポットにとどまり、「アクティブ」になったのは今だけです。当然のことながら、アプリがフォーカスされていないときはリソースをできるだけ少なくして、適切に動作する必要があります。
この動作が望ましくない場合は、フォームがフォーカスを失ったときにアプリケーションを終了できます ( Application.Exit() )。これは、LostFocus イベントで簡単にキャッチできます。
私のデバイスの「戻るボタン」は、赤い電話が印刷されたものである可能性がありますか?
ネイティブ関数AllKeys
を使用して true に設定するとForm.KeyPreview
、ユーザーがハードウェア キーを押したときに KeyDown イベントを受け取ることができます。フォームに KeyDown イベント ハンドラーを追加し、KeyDown ハンドラーにブレークポイントを配置し、[戻る] ボタンを押して の値を調べますKeyEventArgs.KeyCode
。true に設定KeyEventArgs.Handled
すると、ハードウェア キーの押下が Windows Mobile によって処理されないようにすることができます。
PInvoke 情報は次のとおりです。
[DllImport("coredll.dll", SetLastError = true)]
static extern bool AllKeys(bool bAllKeys);
AllKeys(true) を呼び出して、ハードウェア キーの KeyDown イベントを受け取ります。AllKeys(false) を呼び出して、ハードウェア キーの KeyDown イベントの受信を停止します。この機能に関する公式ドキュメントはありませんが、Pocket PC 2003 から存在しています。詳細については、こちらを参照してください。