【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

这篇具有很好参考价值的文章主要介绍了【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

本教程使用到的相关软件或产品:

教程正文:

        创建用户控件库:

        添加自定义控件项:

        在其他解决方案中引用:


本教程使用到的相关软件或产品:

  1. Windows 10 专业版        10.0.19044
  2. Microsoft Visual Studio Community 2022 (64 位)  版本17.3.2
  3. 「.NET 桌面开发」工作负荷(在开始菜单中找到Visual Studio Installer打开可以看到已安装的工作负荷)

    【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

    【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

  4. Microsoft .NET Framework 版本4.8.04084(在Visual Studio帮助菜单内可查看相应版本)  

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

教程正文:


        创建用户控件库:

 打开VS,选择“创建新项目【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

按下图过滤筛选后选择Windows 窗体控件库(.NET Framework),点击“下一步【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

自行命名项目并指定位置,点击“创建(请指定自己能记住的项目位置,后面还会用到)

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

创建完成后界面如下图【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

(如果界面右边没有解决方案资源管理器可在“视图”中打开)

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

        添加自定义控件项:

鼠标右击项目名称,选择“添加” ——> “新建项【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 在弹出的窗口中选择“用户控件(Windows 窗体)”并自行拟定名称,随后点击“添加【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

         使用 .NET Framework 可以创建复合控件、扩展控件或者自定义控件。有关如何确定创建何种类型的控件的信息可参考:各种自定义控件

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

        添加后在解决方案资源管理器中可以看到新增了Switch.csSwitch.Designer.cs;其中Switch.cs是编写业务代码的地方,而Switch.Designer.cs是系统存放设计代码的地方,一般情况下不要轻易去改动里面的内容。

        鼠标右击Switch.cs,选择“查看代码”可以打开其代码页面,而Switch.Designer.cs的代码页面直接左键双击即可打开。打开后如下图:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

        上述内容完成后,最小化Visual Studio,打开文件资源管理器,找到项目所在文件夹,新建一个文件夹命名为“Resources【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

打开Resources文件夹并放入下面两张图片(名称分别命名为"SwitchOFF"和"SwitchON"):

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 回到Visual Studio,右击解决方案资源管理器中的项目名称,选择“属性” ——> “资源

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

单击“此项目不包含默认的资源文件,单击此处可进行创建【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

在“添加资源(R)”下拉菜单中选择“添加现有文件

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

选中Resources文件夹中的两张图片后点击“打开【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 添加后如下图所示,修改“访问修饰符(I)”为“Internal”,随后 Ctrl + s 保存一下:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 关闭当前属性页面,回到Switch.csSwitch.Designer.cs,将如下代码替换进去(直接全文替换即可):

(这里的代码参考了如下文章

        😃请注意,代码中使用的命名空间需要与创建自定义控件库时项目的名称相同! 

/// <summary>
/// Switch.cs
/// <summary>

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 WindowsFormsControlLibraryMadeByXJY    
{
    public partial class Switch : UserControl
    {
        public Switch()
        {
            InitializeComponent();
            this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
            this.SetStyle(ControlStyles.DoubleBuffer, true);
            this.SetStyle(ControlStyles.ResizeRedraw, true);
            this.SetStyle(ControlStyles.Selectable, true);
            this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
            this.SetStyle(ControlStyles.UserPaint, true);
            this.BackColor = Color.Transparent;
            this.Cursor = Cursors.Hand;
            this.Size = new Size(87, 27);
        }
        bool isCheck = false;

        /// <summary>
        /// 是否选中
        /// </summary>
        public bool Checked
        {
            set { isCheck = value; this.Invalidate(); }
            get { return isCheck; }
        }



        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap bitMapOn = null;
            Bitmap bitMapOff = null;
            bitMapOn = Properties.Resources.SwitchON;
            bitMapOff = Properties.Resources.SwitchOFF;
            Graphics g = e.Graphics;
            Rectangle rec = new Rectangle(0, 0, this.Size.Width, this.Size.Height);

            if (isCheck)
            {
                g.DrawImage(bitMapOn, rec);
            }
            else
            {
                g.DrawImage(bitMapOff, rec);
            }
        }
        private void Switch_Click(object sender, EventArgs e)
        {
            isCheck = !isCheck;
            this.Invalidate();
        }
    }
}
/// <summary>
/// Switch.Designer.cs
/// <summary>

//!!*请确保这里使用的命名空间与创建自定义控件库时项目的命名相同*!!
namespace WindowsFormsControlLibraryMadeByXJY
{
    partial class Switch
    {
        /// <summary> 
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region 组件设计器生成的代码

        /// <summary> 
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.SuspendLayout();
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.Name = "mySwitch";
            this.Click += new System.EventHandler(this.Switch_Click);
            this.ResumeLayout(false);
        }

        #endregion
    }
}

保存后在菜单栏选择“生成” ——> “生成解决方案” / “重新生成解决方案”,如下图:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

生成成功后在输出窗口可看到结果,记住划红线的链接,后面会用到:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

        在其他解决方案中引用:

(为了方便演示,这里我新建一个解决方案,小伙伴们可以酌情跳过这一部分内容)

菜单栏选择“文件” ——> “新建” ——> “项目【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 在弹出的窗口中选择“Windows 窗体应用(.NET Framework)”,随后点击“下一步”:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 在项目配置页面同样自行命名并指定位置,选择“创建新解决方案”,随后点击“创建”:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 创建完成后在菜单栏选择“视图” ——> “工具箱”打开工具箱窗口,然后在工具箱空白处右键单击,点击“选择项”:

【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

第一次加载需要一点时间(如下图左半部分),加载完毕后如下图右半部分所示,点击“浏览”:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 找到刚才控件库生成的dll文件所在的位置,选中该dll文件,点击“打开”:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

 打开后可以看到“选择工具箱项”窗口中新增了一个Switch选项,如下图所示:【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用

最后点击“确定”,就可以在其他解决方案中的项目的工具箱窗口中看到自定义的控件了,包含系统自带的UserControl1以及自定义的Swtich控件。【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用文章来源地址https://www.toymoban.com/news/detail-497852.html

到了这里,关于【入门级图文教程】在Visual Studio中创建自定义Winform控件库并在其他解决方案中引用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Visual Studio 2019 详细安装教程(图文版)

    Visual Studio 2019 安装包的下载教程、安装教程 教程 博主博客链接:https://blog.csdn.net/m0_74014525 关注博主,后期持续更新系列文章 ********文章附有百度网盘安装包链接********* 第一篇:Visual Studio 2019 详细安装教程(图文版) 第二篇:Visual Studio 2019 实用功能设置(背景颜色,代码

    2024年02月08日
    浏览(69)
  • C++教程(一)开发环境visual studio的安装——图文详细

    1、百度网盘 链接:https://pan.baidu.com/s/1QJosSoAT7EumuvyjtC_1Iw?pwd=wuqz  提取码:wuqz  2、官网下载 Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) https://visualstudio.microsoft.com/zh-hans/ 第1步,将下载好的安装包,鼠标右击,选择解压。 2、解压后会得到一个安装文

    2024年02月13日
    浏览(53)
  • VTK开发环境配置(Visual Studio C++)-详细图文教程

    前言:由于目前网络上关于VTK的资料甚少,且绝大多数开发配置教程 在编译完VTK环境后仍然需要CMAKE来管理,每当为自己的项目配置vtk时都需要写CMAKE文件,这对没有CMAKE经验的人来说实在不友好。 故出此教程,完成VTK环境编译后,只需引入VTK相关的头文件目录,lib目录即可

    2023年04月12日
    浏览(67)
  • 超详细的visual studio 2022图文安装教程+新建一个c语言程序

    1.1 官网地址下载https://visualstudio.microsoft.com/zh-hans/ 1.2 下载社区版本即可。必须勾选以下组件,其他内容可以按自己的需要进行增加。 2.1 新建项目 2.2 保存项目所在位置 2.3 在头文件选择邮件添加,并新建main.h,如下图所示。 2.4 按照同样的方式在源文件底下添加,main.c文件,

    2024年02月05日
    浏览(61)
  • 【Visual Studio 新手入门指导】包括项目创建、常用快捷键、美化、项目启动、添加文件等多种基础操作,图文详细,准确无误

    本文来自于作者在Visual Studio的使用过程中自己积累经验的总结,主要介绍一些比较实用的技巧,适合新手入门使用。 内容追求细致、有用、基础。 VS的每次运行的是一个一个的项目 (如果有多个项目,则每次执行选定启动项目,后文有所介绍),但是不同项目在一起构成一

    2024年02月08日
    浏览(59)
  • Visual Studio 2022 WinForm/Wpf打包安装程序

    方法1.手动下载安装包: Microsoft Visual Studio Installer Projects 2022 方法2.Visual Studio中安装 菜单栏中选中【扩展】-【管理扩展】-【联机】中搜索Microsoft Visual Studio Installer并安装 在当前解决方案下添加-新建项目-Setup Project 项目添加成功之后,将需要打包的项目生成后的bin目录下的

    2024年02月04日
    浏览(73)
  • Winform模拟Visual Studio工具栏拖拉拽、停靠

    背景 随着公司接的业务复杂度提高,软件界面设计需求也相应提升,老板不再满足于单面板的各种跳转,所以明白了吧,不提升自己就等于自愿失业或转行!!! 方案 本来想着自学自写一套控件库来实现,但是时间有点紧,只能先做完项目偷偷抽时间写,现在主要使用现成

    2024年02月10日
    浏览(72)
  • 在Visual Studio的Web页面调用WinForm窗体方法

            在使用visual studio创建项目时,网站主体使用Web Application创建,部分功能使用WinForm窗体搭建。当时认为都是基于vs平台开发的项目,项目之间相互引用会很容易,但是实际上,web页面由于采用b/s架构,和WinForm架构不兼容,理论上是不允许web调用winform的。所以作为初学

    2024年02月04日
    浏览(89)
  • 界面控件DevExpress WinForm——轻松构建类Visual Studio UI(二)

    DevExpress WinForm拥有180+组件和UI库,能为 Windows Forms 平台创建具有影响力的业务解决方案。 DevExpress WinForm 能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任! 本文专门介绍流行的应用程序界面如何构建—

    2024年02月09日
    浏览(42)
  • 最新Visual Studio下载安装以及C语言环境搭建教程(含C语言入门教程)

    最新Visual Studio下载安装以及C语言环境搭建教程来啦!一起来看看吧~ C语言是一种高级编程语言,由美国贝尔实验室的Dennis Ritchie于1972年发明,它是Unix操作系统的核心语言。C语言以其简洁、高效和可移植性在计算机编程领域得到广泛应用,成为了当今最为流行的编程语言之一

    2024年02月02日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包