C# winform 使用 panel 实现动态加载

2020年5月19日 Jerry 7871 2021年1月17日

C# winform 使用 panel 实现动态加载,仿微信客户端:点击按钮切换功能界面。

jerrycoding word文档加密后限制编辑解决办法

刚开始想的是用tabcontrol 来实现,只需要把tabcontrol 横过来就行了,后来想了想还可以用panel+button来动态加载。

在winform创建几个按钮和几个panel,我这里搞了两个,里面分别包含不同的控件。

jerrycoding word文档加密后限制编辑解决办法

这里有个常遇到的问题,就是panel绘制的时候经常容易嵌套,比如panel1完成了,再来panel2的时候,一拖动可能就被拖进了panel1,其实我们想要的是两者并列的关系。

这里百度查到了一个解决小方法,就是点击 视图--其他视图--文档大纲,这样能看到所有控件的关系。

jerrycoding word文档加密后限制编辑解决办法

并列关系就把panel2挪到和panel1并列的父节点下面就行了。

panel绘制好了,接下来就完成按钮点击函数就行了,代码很简单:点击聊天按钮,使panel1显示,panel2不显示。点击好友按钮,使panel2显示,panel1不显示。

private void button14_Click(object sender, EventArgs e)
{
    Console.WriteLine(panel1.Visible);

    panel1.Visible = true;
    panel2.Visible = false;
}

private void button15_Click(object sender, EventArgs e)
{
    panel2.Visible = true;
    panel1.Visible = false;
    panel2.BringToFront();
    panel2.Location = panel1.Location;//让位置相等
}

panel2.BringToFront();     //可以使panel2置顶显示

panel2.Location = panel1.Location;    //让panel2位置和panel1相同,在原先位置生成。

最后的效果:

jerrycoding word文档加密后限制编辑解决办法


原创文章,转载请注明出处: https://jerrycoding.com/article/winform-panel

微信
jerry微信赞助
支付宝
jerry支付宝赞助

您尚未登录,暂时无法评论。请先 登录 或者 注册

0 人参与 | 0 条评论