本文关键字:

多窗口切换 label splitContainer 窗口背景颜色设置 字体设置 窗口布局 按钮事件 按钮

新建项目:

开发MainForm:

MainForm先添加1个splitContainer,然后splitContainer.Panel1添加3个按钮,分别是button1,button2,button3



这里设置splitContainer的左侧panel1固定大小,

splitContainer1.IsSplitterFixed = false;

// IsSpliterFixed属性设为False

splitContainer1.FixedPanel = FixedPanel.Panel1;

//FixedPannel属性设为Pannel1(要固定的面板的名称)

再右键项目名称添加一个Form1:





Form1设计界面添加2个label控件,分别命名为lbTitle,lbContent;



控件设置为文本居中,大小固定;





在Form1的构造函数修改为传入3个参数,分别为Title,Conten和背景色color

Form1的完整代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 多窗口切换的实现
{
public partial class Form1 : Form
{
public Form1(string title,string content ,Color color) {
InitializeComponent( );
lbTitle.Text = title;
lbContent.Text = content;
this.BackColor = color; lbTitle.Font=new Font("仿宋", 20, FontStyle.Regular); //第一个是字体,第二个大小,第三个是样式
lbContent.Font = new Font("仿宋", 20, FontStyle.Regular); //第一个是字体,第二个大小,第三个是样式
}
}
}

MainForm的完整代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace 多窗口切换的实现
{
public partial class MainForm : Form
{
//在主窗体初始化3个Form1窗体
public Form f1;
public Form f2;
public Form f3;
public MainForm( ) {
InitializeComponent( );
splitContainer1.IsSplitterFixed = false;
// IsSpliterFixed属性设为False
splitContainer1.FixedPanel = FixedPanel.Panel1;
//FixedPannel属性设为Pannel1(要固定的面板的名称)
} private void MainForm_Load( object sender, EventArgs e ) {
string title = "窗口一";
string content = "北国风光,千里冰封。";
Color color = Color.FromArgb(255, 192, 255); //此方法设置的颜色,其透明度属性alpha=255,完全不透明。
f1 = new Form1(title, content,color);
f1.Dock = System.Windows.Forms.DockStyle.Fill;
f1.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f1.TopLevel = false;
title = "窗口二";
content = "成吉思汗,只识弯弓射大雕。";
color = Color.FromArgb(205, 255, 205); //此方法设置的颜色,其透明度属性alpha=255,完全不透明。
f2 = new Form1(title, content,color);
f2.Dock = System.Windows.Forms.DockStyle.Fill;
f2.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f2.TopLevel = false;
title = "窗口三";
content = "俱往矣,数风流人物还看今朝。";
color = Color.FromArgb(155, 152, 255); //此方法设置的颜色,其透明度属性alpha=255,完全不透明。
f3 = new Form1(title, content,color);
f3.Dock = System.Windows.Forms.DockStyle.Fill;
f3.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
f3.TopLevel = false;
//———————————————— // 版权声明:本文为博主原创文章,遵循 CC 4.0 BY - SA 版权协议,转载请附上原文出处链接和本声明。 //原文链接:https://blog.csdn.net/qq_27474555/article/details/127688352
} private void button1_Click( object sender, EventArgs e ) {
f1.Show( );
splitContainer1.Panel2.Controls.Clear( );
splitContainer1.Panel2.Controls.Add(f1);
} private void button2_Click( object sender, EventArgs e ) {
f2.Show( );
splitContainer1.Panel2.Controls.Clear( );
splitContainer1.Panel2.Controls.Add(f2);
} private void button3_Click( object sender, EventArgs e ) {
f3.Show( );
splitContainer1.Panel2.Controls.Clear( );
splitContainer1.Panel2.Controls.Add(f3);
}
}
}

  • form1在MainForm初始化时变实例化3个窗口,为后续使用;

整个解决方案的结构:

最终实现的效果:

参考文档:

https://blog.csdn.net/qq_27474555/article/details/127688352

https://blog.csdn.net/xieyunc/article/details/89193393

https://blog.csdn.net/wojiuguowei/article/details/110927004

C#多窗口切换的实现的更多相关文章

  1. Qt界面编程之多窗口切换

    1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例       功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供  

  2. selenium测试(Java)--多窗口切换(十三)

    selenium测试(Java)--多窗口切换(十三) 如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过s ...

  3. eclipse中的窗口切换快捷键

    Ctrl+Shift+F6 很简单,如果以后改用IDEA的话就没用了,但这个窗口切换确实很复杂,看起来也操作比较快.

  4. selenium多个窗口切换

    浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...

  5. 在C#里实现各种窗口切换特效,多达13种特效

    原文:http://www.cnblogs.com/clayui/archive/2011/06/28/2092126.html 预览:   下载 这次clayui给大家带来了比较实用的东西,因为时间 ...

  6. Selenium_WebDriver_多窗口切换

    摘要: 版权声明:本文为博主原创文章,转载请注明出处. 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时我们如果需要操作新打开的页面,就需要将主机切换到新打开的窗口上再进行操作,比如博客园精华页 ...

  7. Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换

    本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...

  8. Selenium 3----定位一组元素+多表单切换+多窗口切换

    定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...

  9. qt布局管理-缩放、多窗口切换

    关于缩放的布局 所有控件要求与主窗口同时缩放,那么在所有控件设置好布局后,最后点击最外侧的主控件,选择水平布局或者垂直布局即可. 另外每个空间的属性可更改,如SizePolicy用于设置空间是否可缩放 ...

  10. Python3 Selenium多窗口切换

    Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...

随机推荐

  1. 【漏洞通报】WEB VIDEO PLATFORM疑似存在未授权访问漏洞

    漏洞描述 WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台,负责实现核心信令与设备管理后台部分,支持NAT穿透,支持海康.大华.宇视等品牌的IPC ...

  2. PHP常用排序算法01——冒泡、插入

    对于排序算法,相信学计算机的同学都不会陌生.今天我们就来复习下常见的两个排序,适合小规模数据的排序算法:冒泡(bubbleSort)和插入(insertionSort). PS:对排序等算法还不太了解 ...

  3. 深入理解Docker原理

    本文参考转载至:<深入剖析Kubernetes - 张磊> 更过优秀博文请关注:https://blog.bigcoder.cn 容器技术的核心功能,就是通过约束和修改进程的动态表现,从而 ...

  4. Android 13 - Media框架(24)- OMXNodeInstance(一)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 为了了解 ACodec 是如何与 OpenMAX 组件进行 buffer 流转的,我们有必要先来学习 OMXNodeInstance,在前面的章节中 ...

  5. 『手撕Vue-CLI』下载指定模板

    开篇 经上篇文章的介绍,实现了获取下载目录地址,接下来实现下载指定模板的功能. 背景 通过很多章节过后,已经可以拿到模板名称,模板版本号,下载目录地址,这些信息都是为了下载指定模板做准备的. 实现 如 ...

  6. 规则引擎easyRules中组合规则的使用

    这两天想要做支付路由,要根据支付信息将支付请求转发到不同的支付渠道,可能要用到规则引擎,于是研究了一下开源的规则引擎产品.规则引擎核心知识与开源产品对比选型 ,这篇文章对规格引擎和开源产品有详细的介绍 ...

  7. docker构建镜像——Dockerfile

    from RUN CMD EXPOSE LABEL ENV COPY 格式 COPY [--chown=<用户>:<组>]<源>...<目的> COPY ...

  8. Java中编译异常与运行异常的区别

    编译期异常和运行期异常的区别 编译期异常和运行期异常的区别如下 异常处理要求不同:编译期异常(也称为检测异常checked Exception)要求在代码中显式地处理(使用try-catch或者thr ...

  9. kettle从入门到精通 第二十九课 job 循环 检验字段的值

    1.平常我们在用kettle设计job的时候,会用到循环来处理一些业务逻辑,比如循环检测某个表中的数据条数等.这个时候就会用到一个特别重要的步骤:检验字段的值. 下图是一个的通过初始化DNOE变量为f ...

  10. kettle从入门到精通 第二十二课 kettle carte web服务中文乱码

    在windows 上面 carte服务的canvas画布展示的中文正常,但是在linux上面中文展示乱码,如下所示: 原因:linux 机器缺少字体所致. kettle源码中使用字体: 解决方法: 安 ...