我正在尝试在 C# 中为 WinCE 6.0 创建一个 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;
此设置仅使用一张图像。点击输入图像将允许用户通过虚拟键盘或其他可能的方式输入时间。
这就是基本概念。问题是,在切换图像和/或在真假之间切换 .Visible 值最终会导致设备停止和崩溃。到目前为止,我的故障排除让我认为这是某种内存问题。
为什么我会通过切换可见性或更改与资产关联的图像来消耗内存(足以使设备崩溃)?经过测试,这两个功能都会导致崩溃。以这种方式编程菜单系统有什么不好的吗?有没有更好的方法来实现这个目标?由于嵌入式设备将受到更多限制,我是否应该考虑使用其他语言进行编程?我感谢您对此事的任何想法和/或建议。
谢谢!