C#中的自定义控件问题

onpaint这个事件到底是什么意思啊?什么叫改变大小然后重绘啊,有没有给详细通俗解释下的~~谢谢啦,最好有点例子什么的... onpaint这个事件到底是什么意思啊?什么叫改变大小然后重绘啊,有没有给详细通俗解释下的~~谢谢啦,最好有点例子什么的 展开
 我来答
freeeeeewind
推荐于2016-04-10 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1350万
展开全部

自定义控件中 OnPaint(PaintEventArgs pe)完成控件内容“绘制”,即,在控件上画出图像、文字等等。

当自定义控件被创建、控件内容发生变化或者窗口需要刷新这个控件时都会调用OnPaint完成“绘制”。

以下是一个自定义的Label例子

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication1
{
    public partial class CustomControl1 : Control
    {
        private string m_info;
 
        public CustomControl1()
        {
            InitializeComponent();
            m_info = "自定义的Label";
        }
 
        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
            if (string.IsNullOrEmpty(this.m_info)) return;
            //显示内容
            Font font = new System.Drawing.Font("黑体",12);
            Brush brush = Brushes.Black;
            PointF pos =new PointF(0, 0);
            pe.Graphics.DrawString(
                this.m_info,
                font,
                brush,
                pos);
        }
 
        public string Info
        {
            get { return this.m_info; }
            set
            {
                this.m_info = value;
                //修改内容后重新绘制!
                Invalidate();
            }
        }
    }
}
chenguangzokk
2013-11-13
知道答主
回答量:57
采纳率:0%
帮助的人:19.2万
展开全部
顾名思义,就是重绘的意思。比如你在页面初始化了一些东西,后来自己又绘了一些东西,你想要你后来绘的东西能够马上显示出来,就要在onpaint事件了再绘一次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用新首熹
2019-09-13 · TA获得超过4212个赞
知道小有建树答主
回答量:3144
采纳率:33%
帮助的人:188万
展开全部
当C#中自带的控件不能满足你的需要的时候,大部分人会选择第三方插件,现在网上有很多第三方插件,你可以去找一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式