C# Winform SplitContainer组件创建侧边菜单

爱编程的鼠鼠 2024-01-29 09:22:57

效果

https://img-blog.csdnimg.cn/3572342878344a83a26a29f9e8765502.gif

一,SplitContainer 基本操作

新建一个 Winform 项目,在Form1中拖进一个 SplitContainer 组件

https://img-blog.csdnimg.cn/65155c486b9844c5a7a7bd9bebb29093.png

默认的界面如下

https://img-blog.csdnimg.cn/fab9457c760c45ee94b0cbc6c9c6d4ff.png

这时候,你会发现,左侧菜单栏的宽度也太宽了吧,按照以前的经验,你一定会用鼠标去拖拽,这时候你就会发现,鼠标根本拖不动,不信你可以试试

https://img-blog.csdnimg.cn/34eadbae39d5446ab3118504f5ba37f3.png

这时候,我们按Esc键,鼠标再移动到边框的时候,鼠标图标就会变成一个 “+” 状的图标,这时候就可以拖拽了

https://img-blog.csdnimg.cn/2760e34374cd48bd83a4114789c3f74f.png

此时,左侧的Panel1内还没有任何组件,运行后的效果

https://img-blog.csdnimg.cn/3a83c4dece3541888941317a13f024ad.png

我们添加一个按钮到 Panel1 试试

https://img-blog.csdnimg.cn/e0057b392a654ee0ba3bac0a2621282d.png

运行后发现,Panel1原来是有边框的,现在一片空白

https://img-blog.csdnimg.cn/7a6ba85f6f9843c6848a7928a224604d.png


我们给 Panel1 添加一个背景颜色,顺便添加三个按钮

https://img-blog.csdnimg.cn/6d0bfa2de3604b9db09b2fda154b2d56.png

https://img-blog.csdnimg.cn/13bb458c5dfd4a4693450360c1b4cd6f.png

二、实现侧边栏菜单效果

1.添加按钮对应的界面

新建三个界面,界面中随便加点组件

https://img-blog.csdnimg.cn/228f0ca375b34cf1bcbf53798fad267a.png

将界面设置为无边框界面 

https://img-blog.csdnimg.cn/9e28225ad84c40958a8677ca88d61cee.png

2.按钮点击事件

现在给三个按钮添加点击事件,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 Test1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Panel1 panel1 = new Panel1();
        Panel2 panel2 = new Panel2();
        Panel3 panel3 = new Panel3();


        private void Form1_Load(object sender, EventArgs e)
        {
            this.IsMdiContainer = true;

            button1_Click(null, null);
        }

        private void button1_Click(object sender, EventArgs e)
        {
            panel2.Hide();
            panel3.Hide();

            panel1.MdiParent = this;
            panel1.Parent = splitContainer1.Panel2;
            panel1.Show();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            panel1.Hide();
            panel3.Hide();

            panel2.MdiParent = this;
            panel2.Parent = splitContainer1.Panel2;
            panel2.Show();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            panel1.Hide();
            panel2.Hide();

            panel3.MdiParent = this;
            panel3.Parent = splitContainer1.Panel2;
            panel3.Show();
        }
    }
}

这里代码写的比较随意,只供参考

运行后就可以看到,点击不同的按钮,就会切换到不同的界面

源码:点击下载

结束

如果这个帖子对你有用,欢迎 关注 + 点赞 + 留言,谢谢

end


文章来源: https://blog.csdn.net/qq_38693757/article/details/125330916
版权声明: 本文为博主原创文章,遵循CC 4.0 BY-SA 知识共享协议,转载请附上原文出处链接和本声明。


...全文
420 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6,306

社区成员

发帖
与我相关
我的任务
社区描述
微软技术社区为中国的开发者们提供一个技术干货传播平台,传递微软全球的技术和产品最新动态,分享各大技术方向的学习资源,同时也涵盖针对不同行业和场景的实践案例,希望可以全方位地帮助你获取更多知识和技能。
windowsmicrosoft 企业社区
社区管理员
  • 微软技术分享
  • 郑子铭
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

微软技术社区为中国的开发者们提供一个技术干货传播平台,传递微软全球的技术和产品最新动态,分享各大技术方向的学习资源,同时也涵盖针对不同行业和场景的实践案例,希望可以全方位地帮助你获取更多知识和技能。

予力众生,成就不凡!微软致力于用技术改变世界,助力企业实现数字化转型。

试试用AI创作助手写篇文章吧