C#多窗口切换的实现
本文关键字:
| 多窗口切换 | 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#多窗口切换的实现的更多相关文章
- Qt界面编程之多窗口切换
1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例 功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供
- selenium测试(Java)--多窗口切换(十三)
selenium测试(Java)--多窗口切换(十三) 如果遇到点击按钮或链接后出现新窗口的情况,就需要使用窗口切换的方法. 本例中就是先打开百度搜索界面,然后利用js打开一个百度新闻界面,然后通过s ...
- eclipse中的窗口切换快捷键
Ctrl+Shift+F6 很简单,如果以后改用IDEA的话就没用了,但这个窗口切换确实很复杂,看起来也操作比较快.
- selenium多个窗口切换
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...
- 在C#里实现各种窗口切换特效,多达13种特效
原文:http://www.cnblogs.com/clayui/archive/2011/06/28/2092126.html 预览: 下载 这次clayui给大家带来了比较实用的东西,因为时间 ...
- Selenium_WebDriver_多窗口切换
摘要: 版权声明:本文为博主原创文章,转载请注明出处. 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时我们如果需要操作新打开的页面,就需要将主机切换到新打开的窗口上再进行操作,比如博客园精华页 ...
- Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换
本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1 浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...
- Selenium 3----定位一组元素+多表单切换+多窗口切换
定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_e ...
- qt布局管理-缩放、多窗口切换
关于缩放的布局 所有控件要求与主窗口同时缩放,那么在所有控件设置好布局后,最后点击最外侧的主控件,选择水平布局或者垂直布局即可. 另外每个空间的属性可更改,如SizePolicy用于设置空间是否可缩放 ...
- Python3 Selenium多窗口切换
Python3 Selenium多窗口切换 以腾讯网(http://www.qq.com/)为例,打开腾讯网,点击新闻,打开腾讯新闻,点击新闻中第一个新闻链接. 在WebDriver中封装了获取当前窗 ...
随机推荐
- grafana模板参考
空的,把面板都删除了 { "__inputs": [ { "name": "DS_PROMETHEUS", "label" ...
- Spring IoC注解式开发无敌详细(细节丰富)
1. Spring IoC注解式开发无敌详细(细节丰富) @ 目录 1. Spring IoC注解式开发无敌详细(细节丰富) 每博一文案 2. 注解回顾 3. Spring 声明Bean的注解 3.1 ...
- MFC之多字节和宽字节的总结
ANSI字符集 所支持的就是多字节的也叫窄字节,类型来说就对应char类型.Unicode字符集 也叫宽字符集 所支持的就是宽字符集,从类型上来说就是 wchar_t类型.gb2312是中国的编码, ...
- Java21新特性-虚拟线程
虚拟线程是轻量级线程(类似于 Go 中的 "协程(Goroutine)"),可以减少编写.维护和调度高吞吐量并发应用程序的工作量. 线程是可供调度的最小处理单元,它与其他类似的处理 ...
- Nginx 修饰符 Location 详解
概述 location 指令可以用在虚拟服务器 server 部分,并且意味着提供来自客户端的 URI 或者内部重定向访问. location 的定义如下: location [modifier] u ...
- Qt一键部署配置(Qt程序打包)
Qt一键部署配置(Qt程序打包) 1.版本 系统版本:windows10 Qt版本:5.15.2 2.设置可执行程序输出路径 打开.pro文件,输入DESTDIR = $$PWD/../bin,这 ...
- mac m1使用docker安装oracle
mac m1使用docker安装oracle数据库 本学期开始学习数据库原理,老师课上讲到课堂作业使用的是oracle 11g,然而我去官网却发现只有Windows和Linux版本的,并没有发现mac ...
- B站login-极验逆向
声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 https:// ...
- 简单实现Viper配置管理
本文由 ChatMoney团队出品 简介 前面实现的一个简易suno-api.是使用cookie来获取suno-token发起请求的.当时并没有通过配置的方式来获取cookie,而是直接在代码中写死了 ...
- ETL工具-nifi干货系列 第十四讲 nifi处理器QueryDatabaseTableRecord查询表数据实战教程
1.处理器QueryDatabaseTableRecord和处理器QueryDatabaseTable比较相似,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列 ...