常常遇到在一个主界面,通过不同按键或者菜单,让主显示框加载不同窗口的功能,类似360杀毒软件或者常见的web里的不同频道的功能,将白了,就是只替换主体部分,其他不动。

一、先说winfrom的,比较简单

namespace WindowsFormsApp5
{
    public partial class Form1 : Form
    {

//这是三个已经创建好的form窗体
        ChildForms.ChildAFrm frmA;
        ChildForms.ChildBFrm frmB;
        ChildForms.ChildCFrm frmC;

public Form1()
        {
            InitializeComponent();
        }

private void Form1_Load(object sender, EventArgs e)
        {

//实例化三个窗体
            frmA = new ChildForms.ChildAFrm();
            frmB = new ChildForms.ChildBFrm();
            frmC = new ChildForms.ChildCFrm();
        }

private void btn_A_Click(object sender, EventArgs e)
        {
            showForm(frmA);
                }

private void showForm(Form  formName)
        {
            pnl_Frm.Controls.Clear();  // 清空原有的控件
            formName.TopLevel = false;  // 非顶级窗口
            formName.FormBorderStyle = FormBorderStyle.None;  // 不显示标题栏
            formName.Dock = System.Windows.Forms.DockStyle.Fill;  // 填充panel
            this.pnl_Frm.Controls.Add(formName);  // 添加w1窗体
            formName.Show();
        }

private void btn_B_Click(object sender, EventArgs e)
        {
            showForm(frmB);

}

private void btn_C_Click(object sender, EventArgs e)
        {
            showForm(frmC);

}
    }
}
二、接着说wpf下,用在容器里显示不同窗体

首先要把子窗体变成控件UserControl,否则无法实现

xaml里的代码:

<DockPanel Name="Pnl_ShowMenu"   Height="253" LastChildFill="False" Margin="792,76,67,0" VerticalAlignment="Top" Grid.ColumnSpan="2">
            <ContentControl x:Name="Page_Change" HorizontalAlignment="Left"  Height="253" Width="426" VerticalAlignment="Top"   />

</DockPanel >

然后在button的点击事件里写:

子窗体 pew = new 子窗体();
           Page_Change.Content = pew;

c# winform以及wpf下子pannel或paneldock里切换多个子窗体的方法相关推荐

  1. 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])...

    常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...

  2. Winform、WPF、Silverlight、MFC区别与联系

    WinForm 在Windows中,诸如窗体绘制等功能由GDI(图形设备接口)实现,放在操作系统内核中.Windows Forms在底层使用的是GDI+.GDI+是GDI的"面向对象包装&q ...

  3. Windows程序设计:MFC 、Winform 和 WPF 比较

    MFC生成本机代码,自然是很快,可是消息循环减缓了界面显示速度. WinForm封装了win32的api,多次进行P/invoke操作(大部分使用p/invoke操作封装),速度慢. WPF是一种新的 ...

  4. winform 与WPF

    winform 与WPF 在多线程上的改进性能没大区别,WPF 是富客户端,winform是常见的客户端,就是说wpf实现一些绚丽界面比winform更容易,这就是他们的区别,当然wpf是微软取代wi ...

  5. 浅析.Net 在 winform及wpf中涉及界面交互的多线程类的封装

    我们在开发客户端程序时,经常要用到多线程 而我们知道 , .Net 中从线程安全的考虑,对控件改变的调用要通过Invoke, beginvoke 来进行,这就涉及怎么进行工作线程与界面的互操作. 本文 ...

  6. winform,wpf全屏 还显示任务栏的解决方法

    winform,wpf全屏 还显示任务栏的解决方法 参考文章: (1)winform,wpf全屏 还显示任务栏的解决方法 (2)https://www.cnblogs.com/Viki/archive ...

  7. 基础tips:.NET和ASP.NET还有ASP到底是什么?客户端WinForm和WPF的区别?前端三大框架,webpack和vite的比较,android三大框架.

    1..NET和ASP.NET分别是什么? .NET是微软的一个开发平台,其主要核心就是.NET Framwork,这个平台的一大特点就是跨语言性,不管是什么语言,c.c++.c#.F#.J#.vb等语 ...

  8. 2021-12-12 WPF面试题 相对于Winform,WPF有什么优势?

    相对于Winform,WPF有什么优势? 1 - 绑定(更简约的编码) 2 - 灵活的外观和感受(资源和样式) 3 - 声明式编程 (XAML) 4 - 表现层混合动画(动画开发简单) 5 - 快速加 ...

  9. A9G GPS定位系统介绍(物联网、.NET Core web、Winform、Wpf、STM32)

    内容介绍 GPS定位系统主要实现的功能是基于GPS对远程物体进行无线追踪,GPS模块采用安信可的A9G.该系列主要涉及到的知识点包括: 1.基于asp.net core web 3.1\5.0\6.0 ...

最新文章

  1. Retrofit 原理解析
  2. 以下不是python文件读写方法的是-python 文件读写 - 刘江的python教程
  3. 【项目实战课】基于Pytorch的DCGAN人脸嘴部表情图像生成实战
  4. 814:The Letter Carrier's Rounds
  5. 神策分析 1.10 推数据全景化,跨部门联动释放共享价值
  6. RFileWriteStream 写入汉字
  7. iOS开发——处理1000张图片的内存优化
  8. kubernetes+docker
  9. Android手机刷机失败的自救方法
  10. npm ERR! command failednpm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node-gyp rebuild
  11. SQL:解决PostgreSQL数据库传输出现ERROR: invalid byte sequence for encoding “UTF8“: 0xe5 0x9b 0x20
  12. python常见报错异常大全,根据异常找出根本问题,一键解决,建议收藏
  13. Mac环境下AndroidStudio关于 Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7的错误
  14. php电竞酒店系统,星云电竞酒店管理系统
  15. CleanMyPC最新2022win系统清理工具软件
  16. 安装VS2010旗舰版时出现.Net framework4.0,安装失败
  17. Win8.1安装与初次体验(图赏)
  18. mysql经典45道题_MySQL查询 45道练习题
  19. [Power Query] 添加列
  20. 无延时直播/超低延时直播画面同步性测试(实测组图)

热门文章

  1. 软件测试中搭建测试环境?
  2. CorelDRAW插件-GMS开发-VBA注册-机器码-CDR(八)
  3. 自制Wi-Fi无线信号放大器(罐形)全教程
  4. cad转换成pdf怎么转?
  5. vSphere备份实践(一)——用赛门铁克备份还原vSphere中的虚拟机
  6. 自定义android 平板,【图】把android平板电脑装进车机 自己动手diy安卓车载电脑...
  7. 一些知识点,点击波纹,Toolbar和侧滑视图结合等
  8. 将数组排列成左边小,中间相等,右边大的形式 给定链表节点数组和某个值
  9. dnf加物理攻击的卡片有哪些_dnf物理攻击宝珠有哪些 dnf90版本物理攻击宝珠-下载吧...
  10. 传智.Net精品就业班招生简章