C#中的自定义控件问题
onpaint这个事件到底是什么意思啊?什么叫改变大小然后重绘啊,有没有给详细通俗解释下的~~谢谢啦,最好有点例子什么的...
onpaint这个事件到底是什么意思啊?什么叫改变大小然后重绘啊,有没有给详细通俗解释下的~~谢谢啦,最好有点例子什么的
展开
3个回答
展开全部
自定义控件中 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();
}
}
}
}
展开全部
顾名思义,就是重绘的意思。比如你在页面初始化了一些东西,后来自己又绘了一些东西,你想要你后来绘的东西能够马上显示出来,就要在onpaint事件了再绘一次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当C#中自带的控件不能满足你的需要的时候,大部分人会选择第三方插件,现在网上有很多第三方插件,你可以去找一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询