winform 菜单激发窗体切换做法

经常会用到类似于下图这样的winform窗体,其中点击各个菜单时于鏊做到内容窗体的切换,今天也记录一直切换的方法

在主窗体放置一个panal,所有的内容窗体均在改panal上呈现,实现以下方法

///实例化主窗体

private void FrmSetup_Load(object sender, EventArgs e)
        {
            this.btnSystem_Click(null, null);
        }

///初始化内容窗体

public FrmSetup(uint uiDeviceSN)
            : this()
        {
            m_uiDeviceSN = uiDeviceSN;
            m_devSetupRefObj = new DevSetupRefObj(m_uiDeviceSN);
            string sIniPath = this.m_uiDeviceSN.ToString("D08") + "\\Setup\\Setup.ini";
            if (File.Exists(sIniPath))
            {
                m_devSetupRefObj.LoadLocalSetup(sIniPath);
            }
            else
            {
                m_devSetupRefObj.LoadDeviceSetup();
            }

m_frmBaseSysSetup = new FrmBaseSystemSetup(m_uiDeviceSN, m_devSetupRefObj);
            m_frmEditSetup = new FrmEditSetup(m_uiDeviceSN, m_devSetupRefObj);
            m_frmPrintSetup = new FrmPrintSetup(m_uiDeviceSN, m_devSetupRefObj);
            m_frmUserSetup = new FrmUserSetup(m_uiDeviceSN, m_devSetupRefObj);
            m_frmMoreSetup = new FrmMoreSetup(m_uiDeviceSN, m_devSetupRefObj);
            m_frmRegister = new FrmRegister(m_uiDeviceSN, m_devSetupRefObj);
        }
///实例化内容窗体
        FrmBaseSystemSetup m_frmBaseSysSetup;
        FrmEditSetup m_frmEditSetup;
        FrmPrintSetup m_frmPrintSetup;
        FrmUserSetup m_frmUserSetup;
        FrmMoreSetup m_frmMoreSetup;
        FrmRegister m_frmRegister;

private void btnSystem_Click(object sender, EventArgs e)
        {
            this.ShowSystem();
            this.HideEdit();
            this.HidePrint();
            this.HideUser();
            this.HideMore();
            this.HideRegister();
        }

///窗体切换

private void ShowUser()
        {
            pnlShow.Controls.Clear();

m_frmUserSetup.TopLevel = false;
            m_frmUserSetup.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
            pnlShow.Controls.Add(m_frmUserSetup);

this.m_frmUserSetup.ShowForm();  
        }

以上就是大致思路。

时间: 2024-10-06 01:43:24

winform 菜单激发窗体切换做法的相关文章

C# Winform学习---MDI窗体的设计,PictureBox控件(图片上一页下一页),Timer控件,MenuStrip控件

一.MDI窗体的设计 1.MDI简介 MDI(Multiple Document Interface)就是所谓的多文档界面,与此对应就有单文档界面 (SDI), 它是微软公司从Windows 2.0下的Microsoft Excel电子表格程序开始引入的,Excel电子表格用户有时需要同时操作多份表格,MDI正好为这种操作多表格提供了很大的方便,于是就产生了MDI程序 2.效果图: 如下图所示,多窗体嵌套,其中一个是父窗体,其条是子窗体. 横向排列下面的窗体: 纵向排列下面的窗体: 关闭全部子窗

C#窗体切换

说到窗体切换,可能就是 show,hide,什么的了.但是我摸索出了一个比较好用的方法,在此分享. 1 using System.Threading; 2 Thread t = new Thread(new ThreadStart(() => 3 { 4 Application.Run(new Form2()); 5 })); 6 t.Start(); 7 Application.Exit(); 当前运行的窗体为Form1,目的是完全关闭Form1,运行Form2窗体. 首先,得using线程的

网页窗体切换做不同操作+失去光标+获取光标

网页窗体切换做不同操作+失去光标+获取光标 今天群里有人有这个需求. 就随手写了个 . 给有用的人参考下. <html> <head> <title>ssss</title> <script src="jquery-1.7.1.min.js"></script> </head> <body onblur=tests1() onfocus=tests2()> <div id="

cocos2dx 3.1从零学习(二)——菜单、场景切换、场景传值

回顾一下上一篇的内容,我们已经学会了创建一个新的场景scene,添加sprite和label到层中,掌握了定时事件schedule.我们可以顺利的写出打飞机的主场景框架. 上一篇的内容我练习了七个新场景,每一个场景都展示不同的东西,像背景定时切换.各种字体的随机颜色和位置等.每次要切换一个场景都要修改AppDelegate中的调用代码,非常的不方便查看,这一篇我们写场景的切换.每当我们创建一个新的场景的时候只要添加对应按钮到主界面,点击即可以切换过去查看对应的效果.这个有点类似官方提供的cppt

winform重绘窗体成圆角(网上借鉴)

winform做圆角窗体: 1 //重绘窗体为圆角 2 private void frmMain_Paint(object sender, PaintEventArgs e) 3 { 4 #region 5 6 List<Point> list = new List<Point>(); 7 int width = this.Width; 8 int height = this.Height; 9 10 #region 四个圆角 11 12 //左上 13 list.Add(new

winform 加载窗体时弹出另一个窗体并显示进度条的源码

winform 加载窗体时弹出另一个窗体并显示进度条的源码 //frmA: 源窗体 //------------------------------------------ //引用 using System.Threading; BackgroundWorker worker; public frmA() { InitializeComponent(); worker = new BackgroundWorker(); worker.DoWork += new DoWorkEventHandl

很实用的HTML5+CSS3注册登录窗体切换效果

1. [代码]3个很实用的HTML5+CSS3注册登录窗体切换效果 <!DOCTYPE html><!--[if lt IE 7 ]> <html lang="en" class="no-js ie6 lt8"> <![endif]--><!--[if IE 7 ]>    <html lang="en" class="no-js ie7 lt8"> &l

菜单导航tab切换样式的小技巧

1.最终效果 2.HTML结构 <div class="licaiMenu"> <ul class="navi"> <li><a href="">产品管理</a></li> <li class="hover"><a href="">员工管理</a></li> <li><a

winform的Form窗体基础

最近搞一个winform的socket编程的课设,平时对winform这块没有研究,以为和C# web差不多的,不曾想窘状百出.没办法,只能硬着头皮赶紧学Form窗体的一些基本知识和socket编程. 首先,谈一谈学Form窗体的一些认识和感悟. 1.关于窗体应用的创建就不说了,当我们在一个项目中添加了多个窗体, 随之而来的调试问题就是:怎么设置首先运行的窗体呢? 解决方案:一般我们建项目之后,在项目中我们会找到有Program.cs文件,双击打开之后里面有一行:Application.Run(