c#自定义控件(1)-gdi基础

C# GDI+数字表控件开发指南 C# GDI+数字表控件开发教程摘要 本教程详细讲解如何用C# GDI+开发功能完善的数字表控件NumericDisplay。该控件支持: 动态数值更新与自动重绘 深度定制(字体/颜色/边框/单位显示) 抗锯齿+双缓冲优化显示效果 数据格式化(小数位/千分位) 性能优化方案 核心实现: 继承Control类重写OnPaint 使用TextRenderingHint.AntiAlias消除锯齿 通过Invalidate()实现高效重绘 提供可绑定属性(Value/Font/Unit等) 开发者可通过简单属性配 阅读详情

自定义控件,首先需要会使用GDI+绘制,下面是代码段基本各种常用的都有,注释也很清楚,然后工具箱中就会出现该控件

1.新建一个cs文件,继承Control在这里插入代码片

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ControlDraw
{
    /// <summary>
    /// 自定义控件
    /// </summary>
    class MyControl :Control/*1.这里需要继承Control基类*/
    {
        public MyControl()
        {
            //两种设定颜色的方式
            this.BackColor = Color.White;            
            this.BackColor = Color.FromArgb(255, 255, 255);
            //控件的大小
            this.Size = new Size(100, 100);
        }

        protected override void OnPaint(PaintEventArgs e)
        {
            //**描边的时候先使用brush涂色,在使用pen描边会避免上下边宽度不一样
            //调用父类
            base.OnPaint(e);

            //定义一个画布
            Graphics g = e.Graphics;

            //平滑模式
            g.SmoothingMode = SmoothingMode.HighQuality;
            //定义画笔,5.0f  为画笔的宽度
            Pen pen = new Pen(Color.Red,5.0f);

            //自定义颜色   120代表的是透明度
            Color color = Color.FromArgb(120, 255, 0, 0);
            //定义刷子
            Brush brush = new SolidBrush(Color.Blue);

            //画圆
            g.DrawEllipse(pen, 0, 0, 100, 100);
            //画矩形
            g.DrawRectangle(pen, 0, 0, 30, 30);
            //填充
            e.Graphics.FillEllipse(brush, 0, 0, 100, 100);

            //还可以使用using写法,自动释放资源
            using (Brush brush1 = new SolidBrush(Color.Red))
            {
                g.FillRectangle(brush, 0, 0, 100, 100);
            }

            #region 矩形缩放
            Rectangle rectangle = new Rectangle(0, 0, 100, 100);
            using (Pen p1 = new Pen(Color.Yellow, 5.0f))
            {

                //矩形向里缩放的距离,然后画椭圆
                rectangle.Inflate(10, 10);
                g.DrawEllipse(p1, rectangle);
            }
            #endregion
            pen.Dispose();
            g.Dispose();
        }
        //绘制背景色,背景色一般是不会改变的
        protected override void OnPaintBackground(PaintEventArgs pevent)
        {
            base.OnPaintBackground(pevent);
            Graphics g = pevent.Graphics;
            int w = this.Width, h = this.Height;
            Rectangle rect = new Rectangle(0, 0, w, h);
            //渐变色
            Brush lgbrush = new LinearGradientBrush(new Point(rect.Left, rect.Top)/*左上角*/,
                new Point(rect.Right, rect.Bottom),
                Color.FromArgb(255, 0, 0),
                Color.FromArgb(255, 255, 255)
                );
            using (lgbrush)
            {
                g.FillRectangle(lgbrush, rect);
            }
        }
    }
}

如果工具箱中没有该控件,则需要进行以下设置
如果自定义控件在工具箱里面没有的话可以在这里设置
效果图:
在这里插入图片描述

C# GDI+数字表自定义控件开发全攻略:从零到工业级仪表盘 摘要: 本文介绍如何利用C# GDI+技术开发一个工业级数字表控件,支持动态数值更新、抗锯齿显示和样式自定义。控件继承Control类,通过重写OnPaint方法实现双缓冲渲染,避免界面闪烁。核心功能包括实时数值刷新(Value属性)、字体/颜色配置(Font/TextColor)、边框控制(ShowBorder)和小数位数格式化(DecimalPlaces)。代码示例展示了属性定义与绘制逻辑,适用于仪表盘、设备监控等需要高性能数字显示的场景。 阅读详情

相关推荐

C#自定义控件VS用户控件

C#自定义控件VS用户控件1、C#中自定义控件VS用户控件大比拼2、为自定义控件(或类)的方法属性添加注解2.1、Description:在属性窗口中添加属性及属性说明2.2、Browsable2.3、EditorBrowsable2.4、Category2.5、ToolboxBitmap 1、C#中自定义控件VS用户控件大比拼 自定义控件与用户控件区别 WinForm中,用户控件(User Control):继承自 UserControl,主要用于开发 Container 控件,Container控件可以

u011930054的博客 5046

C# Winform GDI+ 绘图

Graphics类是GDI+技术的一个基本类。GDI+(Graphics Device Interface)是.NET框架的重要组成部分,提供对二维图形图像和文字排版处理的支持。System.Drawing.Drawing2D: 提供了高级的二维和矢量绘图功能(比如渐变、 图案填充、- 轨迹等)System.Drawing:提供了最基本的绘图功能(比如画直线、矩形、椭圆等);System.Drawing.Printing: 提供与打印相关的服务。System.Drawing.Text: 提供排版功能。

熊思雨的博客 1万+

C#.net 地图控件开发(三) GDI+图形图像编程基础1.

GDI+绘图基础        编写图形程序时需要使用GDI(Graphics Device Interface,图形设备接口),从程序设计的角度看,GDI包括两部分:一部分是GDI对象,另一部分是GDI函数。GDI对象定义了GDI函数使用的工具和环境变量,而GDI函数使用GDI对象绘制各种图形,在C#中,进行图形程序编写时用到的是GDI+(Graphice Device Interface P

jackjian的专栏 5740

C#自定义控件

① 添加一个自定义控件,右键解决方案,点击添加,然后点击用户控件。⑤ 查看工具箱就能够看见我们的自定义控件已经在工具箱生成了。2、 Visual Studio社区版 2019(C#)④ 从左侧工具箱拖曳控件并布局,如下图所示。② 选择用户控件(Windows窗体)二、 创建自定义控件窗体。③ 得到如下图所示控件。一、 开发环境和工具。1、 WIN10系统。三、 添加相应函数。② 更新测试时间。③ 更新测试状态。四、 控件应用。

qq_34182560的博客 8381

winform自定义控件(gdi+)(14)——绘制图像(DrawImage)

1、显示图像 Graphics g = e.Graphics; Bitmap bmp = new Bitmap("1.jpg"); g.DrawImage(bmp,0,0);//屏幕上图像的大小为屏幕分辨率和图像分辨率的比值 Console.WriteLine(g.DpiX ); Console.WriteLine(g.DpiY ); Console.WriteLine(bmp.H

qq_34059233的博客 2937

从0到1:C# GDI+数字表自定义控件开发全揭秘,你也能做!

🔥关注墨瑾轩,带你探索编程的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手🚀🔥技术宝库已备好,就等你来挖掘🚀🔥订阅墨瑾轩,智趣学习不孤单🚀🔥即刻启航,编程之旅更有趣🚀嗨,亲爱的小伙伴们!今天我们要一起探索如何用C#和GDI+来创建一个炫酷的数字表自定义控件。是不是觉得这听起来有点复杂?别担心,只要你跟着这篇文章一步一步走,你会发现其实并不难。我们将详细介绍每个步骤,并提供大量代码示例和注释,确保即使是编程小白也能够轻松上手。准备好了吗?让我们开始吧!

java专栏 496

C# 使用gdi绘制自定义控件,自适应分辨率。

解决cpu占用高的问题以及闪烁问题的解决方案视频演示。

weixin_42103688的博客 1114

winform自定义控件(gdi+)(12)——测量文本大小(MeasureString)

1、MeasureString(String, Font) 代码: string measureString = "Measure String"; Font stringFont1 = new Font("Arial", 60); SizeF layoutSize = new SizeF(200.0F, 50.0F); // Measure string. SizeF stringSize = new

qq_34059233的博客 1063

C#控件开发-GDI编程

GDI画线

人和代码有一个能跑 515

C# GDI画图系列(一)实现画布,主控大脑,和鼠标标识

先来个整体效果 点击线条之后 鼠标放中间蓝色小块上改变位置,放两侧红块上随鼠标改变线的方向和长度 以及画四边框时的选定和改变样式 饭一口一口吃 先来实现个简单的 ,实现画布和主控大脑以及不做任务时的鼠标标识 先实现画布接口 IMyCanvas,主控大脑接口 IParents /// <summary> /// 画布接口 /// </summary> public interface IMyCanvas { // 画布宽

weixin_39448579的博客 2019

3步教你用C# GDI+实现自定义流动管道控件,你真的不想试试吗?

接下来,我们将创建一个新的类文件,命名为,继承自。在这个类中,我们将定义所有与流动管道相关的属性和方法。// 定义流动方向枚举// 定义属性// 流动颜色// 流动宽度// 单个流动段长度// 流动段之间间隔// 起始偏移量// 管道方向// 属性设置器[Category"FlowPipe"set {// 触发重绘[Category"FlowPipe"set {// 最小值为1[Category"FlowPipe"set {[Category。

java专栏 1008

C# GDI绘制的小熊进度条

C# GDI绘制的可爱的小熊进度条

码猩的博客 630

C#的GDI+绘图详解

/消除锯齿 或 AntiAlias。// 1.在窗体或控件的Paint事件中,用PaintEventArgs e 创建绘图对象 ---- 控件或窗体重绘时。//为控件创建绘图对象。//--------------------以上方法三选一。//2.创建绘图对象 panel1中绘图。

weixin_50920631的博客 3457

C#自定义控件编程轻松入门(1)

C#控件编写的第一课,最容易的入门方式,从一个空白控件开始,逐步掌握自定义控件的编写过程。

河西~石头 1万+

C#编写的用GDI绘制的图片显示、拖动、缩放自定义控件

C#编写的用GDI绘制的图片居中显示、拖动、缩放自定义控件,可显示BMP图片。

C# GDI+ 圆形进度条,比例图自定义控件

研究了好长一段时间,终于能 用GDI+ 实现一个自定义圆心进度控件,希望对你有所帮助

C# GDI+绘图(一)GDI+介绍及基础

最近,项目中,有一块比较发杂的网格,并在网格上绘有各种颜色和文本,在Dev库中并为找到能实现这种功能的现有或可以二次开发的控件,因此,涉及到GDI+绘图这块陌生的领域。下面即时我在本次学习过程中的笔记,本次内容一共分为4篇,分别都有各自的代码或工程文件提供,有需要的朋友可以下载。 C# GDI+绘图(一) GDI+介绍及基础 C# GDI+绘图(二)进阶---Pen/Brush以及坐标轴平移和...

画鸡蛋的不止达芬奇 1万+

在windows10/11中使用ipatool提取苹果app安装包ipa文件

本文介绍了在Windows10/11系统中使用ipatool工具下载苹果App安装包(.ipa)的详细步骤。首先需准备Windows电脑、AppleID账号并下载ipatool工具;具体操作包括:登录AppleID、搜索应用、获取购买授权、查看历史版本及下载指定版本。关键步骤强调获取授权的重要性,并提供了常用命令速查表,帮助用户完成从登录到下载的全过程。该教程适用于需要获取旧版本App或进行应用测试的场景。

zhengshaolin128的博客 2581

C# GDI+数码管数字控件

C# GDI+ 自定义液晶数字显示控件实现。2024年12月27日。

anlog的专栏 1407

自适应动态规划硕士博士论文学习

强化学习关注随机过程中的序贯决策问题,而自适应动态规划关注动态系统的控制问题。吸引域:系统渐近稳定的区域。

DarlingLSA的博客 1425

基于航天宏图PIE-SAR软件的高分三号(GF-3)SAR影像的预处理

软件官网 航天宏图—国内领先的卫星运营与应用服务提供商(官网) 一、数据导入 数据导入-GF-3-根据模式选择 参数文件导入解压后GF-3数据的XML文件 通道自动填充 设置输出目录 确定 等待,加载图像、自动构建金字塔 二、复数数据转换 强度/幅度特征是SAR影像最主要的特征之一,基于SAR强度/幅度影像可以提取地物目标信息,因此需要将SAR复数数据转换为SAR强度/幅度数据。导入输入影像,设置参数类型,输出目录、命名、类型; 漫长的等待 三、多视 为提...

weixin_52127098的博客 9003
上一篇: c#调用Excel中的函数
下一篇: c#自定义控件(2)-修改属性
奇点码农
博客等级 码龄19年 60粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值