帮忙解读以下下面代码的意思,在winform中加了以下代码 窗体的画笔功能就不能实现了
//解决窗体闪烁
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000;
return cp;
}
}
//画笔功能
private bool startdraw = false;//是否开始画图
private Graphics gs;//画版
private Pen pen = new Pen(Color.Red, 3f);//画笔
private System.Drawing.Point startpt;//画图起点
/// <summary>
/// 开始画图/起始点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pnPaint_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
startdraw = true;//开始画图
startpt = e.Location;
}
}
/// <summary>
/// 画图的轨迹
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pnPaint_MouseMove(object sender, MouseEventArgs e)
{
gs = this.pnPaint.CreateGraphics();
if (startdraw)
{
gs.DrawLine(pen, startpt, e.Location);
startpt = e.Location;
}
}
/// <summary>
/// 结束画图
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void pnPaint_MouseUp(object sender, MouseEventArgs e)
{
startdraw = false;//结束画图
}