为了避免将所有的控件堆在 MainForm上,导致整个视图和逻辑特别复杂,可以使用UserControl将相关的控件组合起来,独立成一个个小的视图。

比如主窗口中有多个Tab选项卡,可以将每个Tab选项卡的视图独立成一个UserControl,通过手动添加或者拖放添加到Form中。下面以PrintPanel为例说明用法(VS2015)。

  • 首先,“添加——>新建项——>Visual C#项——>用户控件”,按照原来Tab中的样式设计;
// 与Form的设计类似,只是继承自UserControl
namespace Demo.Views
{public partial class PrintPanel : UserControl{public PrintPanel(){InitializeComponent();}......}
}
  • 手动添加: 将PrintPanel添加到MainForm的tab1中。
namespace Demo
{public partial class Main : Form{private PrintPanel printPanel;public Main(){......printPanel = new PrintPanel();printPanel.Dock = DockStyle.Fill;tab1.Controls.Add(printPanel);......}}
}
  • 拖放添加: 对于一些小的自定义控件,如果需要显示在“工具箱”中,像其他控件一样拖放设计,可以修改系统设置显示自定义控件。

    • 工具——> 选项——> Windows窗体设计器——> 常规——> AutoToolBoxPopulate(自动填充工具箱)——> True

【C#】UserControl用法相关推荐

  1. ASP:Literal控件用法

    ASP:Literal控件用法 刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span&g ...

  2. Html.Partial和Html. RenderPartial用法

    Html.Partial和Html. RenderPartial用法 Html.partial和RenderPartial的用法与区别 Html.partial和RenderPartial都是输出ht ...

  3. WPF 控件【U】UserControl(一) UserControl、ContentControl、Page的区别,及它们的使用方法

    一.简介 本文将介绍用户控件UserControl与Page的区别,及两者的使用方法. 部分参考: https://www.cnblogs.com/lelehellow/p/6026766.html( ...

  4. c#做的指示灯控件用法_C#--自定义控件-开发LED指示灯控件(带闪烁效果)

    以下是学习笔记: 参考:https://www.bilibili.com/video/BV1eQ4y1M7ZY?p=5 效果如下: 思考:实现以上效果要用到哪些属性 颜色,是否有边框,外环宽度,是否高 ...

  5. C# WPF TabControl控件用法详解

    概述 TabControl我之前有讲过一节,内容详见:C# WPF TabControl用法指南(精品),上节主要讲解了tabcontrol控件的左右翻页,以及页面筛选,以及数据绑定等内容,这节内容继 ...

  6. UWP WP8.1 依赖属性和用户控件 依赖属性简单使用 uwp添加UserControl

    上面说 附加属性.这章节说依赖属性. 所谓依赖属性.白话讲就是添加一个公开的属性. 同样,依赖属性的用法和附加属性的用法差不多. 依赖属性是具有一个get,set的属性,以及反调函数. 首先是声明依赖 ...

  7. c语言中external,static关键字用法

    static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...

  8. Pandas_transform的用法

    先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...

  9. Python中yield和yield from的用法

    yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...

最新文章

  1. php add 返回id,PHP curl_multi_close函数
  2. 墙面有几种装修方法_新房装修除甲醛 用这几种方法就足够
  3. 全渠道java b2b b2c o2o平台
  4. Flutter中Contrainer 组件的宽高限制分析
  5. BZOJ1832: [AHOI2008]聚会
  6. MySQL-->索引-->如何创建索引,创建原则
  7. 蓝桥杯 ALGO-148 算法训练 5-1最小公倍数 java版
  8. linux常用进程管理工具及查看
  9. 【Jmeter】元件实战:Jmeter 连接 mysql 数据库 / 数据池配置 —— JDBC Connection  Configuration
  10. [lua]紫猫lua教程-命令宝典-L1-01-03. 数值数据
  11. google play电子市场和gmail如何安装在国产手机、三星手机、摩托手机里
  12. PTC creo 3.0 安装教程
  13. module.exports 与 exports.xxx 的区别
  14. Deferred Shading VS Deferred Lighting
  15. C++: 判断两个数互质(最大公约数为1)
  16. fluent日志文件提交服务器计算,利用云服务器计算fluent
  17. 内存管理---内存释放
  18. HTML新年趣味小程序,推荐10款春节必备小程序,让你欢欢喜喜过新年
  19. 分享20款漂亮的Windows 7主题
  20. 【腾讯云 Finops Crane 集训营】深入了解 Crane 开源项目,集训营实验操作指南,体验过程总结

热门文章

  1. 《测试驱动开发应用实践》讨论记录
  2. 推荐几款渗透测试常用的脚本(记得收藏)
  3. 启迪故事之 -- 扁鹊的医术
  4. linux 抓图,关于Linux下的抓图软件和使用方法介绍
  5. 小老板巧用信用卡 透支妙获现金流
  6. python爬虫之必应图片
  7. iOS 企业包无法安装
  8. 我的世界java皮肤展开图,我的世界:如果将6种怪物皮肤展开,你能认出几个?图5难倒老MC...
  9. 清浅时光,岁月静好——我的2016
  10. 【Go语言入门指南】零基础入门 go 语言 | Golang 入门指南