WinCE 6.0 用の C# で WinForm メニュー システムを作成しようとしています。
このメニュー システムの一般的なアイデアは、画面の下部に沿ってボタンとして機能するいくつかの画像ボックスがあることです。これらにより、一般設定 (画面の明るさ、言語など)、日付/時刻設定、およびその他のシステム固有の設定を切り替えることができます。さらに、画面の中央にボタンとして機能する画像ボックスがいくつかあり、ユーザーのオプションを定義するラベルがあります。
だから、簡単な例。設定メニューに入ると、デフォルトで一般設定が表示されます。
labelTitle.Text = "General";
labelOption1.Text = "Brightness";
picOption1Left.Image = bmpDown;
picOption1Right.Image = bmpUp;
明るさの横にある下矢印をタップすると、画面の明るさが下がります。上矢印は明るさを上げる。
画面の下部にある [日付/時刻] オプション ボタンをタップすると、これらのフィールドが次のように変更されます。
labelTitle.Text = "Date and Time";
labelOption1.Text = "Time";
picOption1Left.Visible = false;
picOption2Right.Image = bmpInput;
この設定に使用される画像は 1 つだけです。入力画像をタップすると、ユーザーは仮想キーボードまたはその他の方法で時間を入力できます。
それが基本コンセプトです。問題は、画像を切り替えたり、.Visible 値を true と false の間で切り替えたりすると、最終的にデバイスが停止してクラッシュすることです。これまでのトラブルシューティングでは、これはメモリに何らかの問題があると思われます。
可視性を切り替えたり、アセットに関連付けられた画像を変更したりするだけで、(デバイスがクラッシュするのに十分な) メモリを消費するのはなぜですか? テスト済みで、両方の機能がクラッシュを引き起こします。このようにメニューシステムをプログラミングすることについて何か悪いことはありますか? この目標を達成するためのより良い方法はありますか? 組み込みデバイスはより制限されるため、別の言語でのプログラミングを検討する必要がありますか? この件に関するご意見やアドバイスをいただければ幸いです。
ありがとう!