我正在尝试在C#for 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值后,最终会导致设备停顿和崩溃。到目前为止,我的故障排除让我觉得这是内存的某种问题。
为什么我只是通过切换可见性或更改与资产相关联的图像来消耗内存(足以使设备崩溃)?经过测试,两个函数都会导致崩溃。以这种方式编程菜单系统有什么不好吗?有没有更好的方法来实现这一目标?我是否应该考虑使用其他语言进行编程,因为嵌入式设备会受到更多限制?我很欣赏有关此事的任何想法和/或建议。
谢谢!