Wince的界面切换体系——用户控件的合理使用
来源:互联网 发布:这是我的战争 知乎 编辑:程序博客网 时间:2024/05/22 11:38
wince是上一个使用的语言,现在已经很少使用了。
这里主要分享一种Wince中winfrom使用用户控件来切换界面的体系。
这个很对于使用wince的用户来说,是很实用的!
为什么使用用户控件来切换界面
对于Wince来说,这是一种移动终端系统,使用的开发语言是C#,而移动终端上,通常内存和存储空间都较小。不适合每次新开一个界面,都new From()。
针对这种情况,想到了用用户控件的变更来实现界面间的切换。具体怎么实现呢?
1、创建用户控件(User control);
2、在默认创建的From上,声明这个用户控件;
3、在Form上布置一个panel容器,用于存放用户控件;
4、当你点击按钮触发的时候,用一个新的用户控件替换panel上的原有的用户控件。
如何使用用户控件切换界面
我们列出对应代码:
控件的声明:
<span style="white-space:pre"></span>public static MainForm userform = null;//工程默认创建的From public UsMenu UsMenu_page = null; //自定义的菜单用户控件 public UsZhizuoMenu UsZhizuoMenu_page = null;//以下都是用户控件 public UsFuzhuangZhizuo UsFuzhuangZhizuo_page = null; public UsFuzhuangQuery UsFuzhuangQuery_page = null; public UsGongxuYijiao UsGongxuYijiao_page = null; public UsSet UsSet_page = null;枚举的定义:用于定位你现在处于哪个界面
public enum PageState { /// <summary> /// 主菜单界面 /// </summary> Index, /// <summary> /// 制作菜单 /// </summary> zhizuomenu, /// <summary> /// 制作 /// </summary> zhizuo, /// <summary> /// 查询 /// </summary> query, /// <summary> /// 工序移交 /// </summary> gongxu, /// <summary> /// 服务设置 /// </summary> set }
MainFrom界面上定义的用户控件的切换:
//主菜单界面 public void openUsMenuForm() { if (UsMenu_page == null) UsMenu_page = new UsMenu(); userform.Text = "主菜单界面"; pnl.Controls.Clear(); pnl.Controls.Add(UsMenu_page); pnl.Tag = PageState.Index; pnl.Focus(); UsMenu_page.pictureBox1.Focus(); } //服务界面 public void openUsSetForm() { UsSet_page = new UsSet(); userform.Text = "设置界面"; pnl.Controls.Clear(); pnl.Controls.Add(UsSet_page); pnl.Tag = PageState.set; pnl.Focus(); UsSet_page.txtIP.Focus(); }
初始化panel上的用户控件:
public MainForm() { InitializeComponent(); userform = this; m_scan.OnDecodeEvent += new DecodeEventHandler(scan_OnDecodeEvent); openUsMenuForm(); }
比如,你在
UsMenu <span style="font-family: Arial, Helvetica, sans-serif;">UsMenu_page </span>这个菜单用户控件上,有几个按钮,分别触发不同的界面,如下:
using System;using System.Linq;using System.Collections.Generic;using System.ComponentModel;using System.Drawing;using System.Data;using System.Text;using System.Windows.Forms;namespace SmartDeviceConnectSql2005{ public partial class UsMenu : UserControl { public UsMenu() { InitializeComponent(); } private void pictureBox1_Click(object sender, EventArgs e) { MainForm.userform.openUsZhizuoMenuForm(); } private void pictureBox2_Click(object sender, EventArgs e) { MainForm.userform.openUsGongxuYijiaoForm(); } private void pictureBox3_Click(object sender, EventArgs e) { MainForm.userform.openUsSetForm(); } }}这里做的都是界面的跳转。
其他的界面也是类似的用法。
简单,实用。
2 0
- Wince的界面切换体系——用户控件的合理使用
- 如何合理的设置培训体系
- C# 防止界面假死 多线程进度条的合理使用
- C# 防止界面假死 多线程进度条的合理使用
- 用户控件的使用
- 用户控件的使用
- hashmap的合理使用
- 职权的合理使用
- android学习之——界面 控件 体系 布局
- Android 视图切换库的使用SwitchLayout(可实现控件点击动画,和界面切换时的各种动画)
- android 界面控件的使用
- EasyUI界面控件的使用
- 代码重构的技巧——合理使用@Deprecated
- 使用系统的动画(点击切换界面)
- Fragment的简单使用(切换界面)
- Android 基本控件的使用一(用户的登录界面)
- 合理编码,构建最完整的中国政府机构信息化体系
- 用户自定义控件的使用
- centos 6.5 阿里云 源码安装php swoole详解
- 清华大学研读间助手-清华小图Android
- 单例模式
- Winform 主程序入口中记录并捕获全局异常
- mongodb中批量将时间戳转变通用日期格式
- Wince的界面切换体系——用户控件的合理使用
- 财产保险的分类
- Java日期表示
- 世界顶级软件推荐,个人亲测
- Android开发中ANR详解及解决办法
- ADC采样Q15归一化处理
- Javascript正则表达式常用的字符和符号
- 例题5-6 UVA 540 Team Queue团体队列
- Leetcode204: N-Queens II