c# Onpaint事件

下面是我做的一个控件,在控件调试时,如果改变backcolor值时老是显示属性值无效。就是找不到原因,请问问题出在哪里?谢谢usingSystem;usingSystem... 下面是我做的一个控件,在控件调试时,如果改变backcolor值时老是显示属性值无效。就是找不到原因,请问问题出在哪里?谢谢

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ControlLib
{
public partial class Line : UserControl

{
private float penWidth;
private Color penColor;

public Line()
{
InitializeComponent();
penWidth = 1;
penColor = Color.Black;
}
//public float lineWidth
//{
// get
// {
// return penWidth;
// }
// set
// {
// penWidth=value;
// }
//}
//public Color lineColor
//{
// get
// {
// return penColor;
// }
// set
// {
// penColor=value;
// }
//}
protected override void OnPaint(PaintEventArgs e)
{

Graphics g = e.Graphics;
Pen colorPen = new Pen(this.BackColor, penWidth);
g.DrawLine(colorPen, new Point(0, 0), new Point(this.Width, this.Height));
}

private void Line_Resize(object sender, EventArgs e)
{

OnPaint(null);
}

private void Line_BackColorChanged_1(object sender, EventArgs e)
{
OnPaint(null);

}
}
}
展开
 我来答
老级幸1286
2009-11-23 · TA获得超过511个赞
知道小有建树答主
回答量:756
采纳率:0%
帮助的人:383万
展开全部
还有那种做法吗?
要想调用OnPaint事件,那样做是不对的。
有个方法可以调用OnPaint事件。
OnPaint(null);
改为:
this.Invalidate();//调用this.OnPaint事件。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式