无法对Pen进行更改,因为权限无效

时间:2012-06-09 09:42:49

标签: c# winforms

m.pen = Pens.Red; //No error

m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;        //error

其中m是另一个类的对象,它将Pen视为全局。

当我尝试设置endcap或startcap时,它会向我显示错误

“由于权限无效,无法对Pen进行更改。”

任何人都知道如何纠正这一点。

3 个答案:

答案 0 :(得分:6)

Pens返回的Pen对象是不可变的,这意味着它们的属性无法更改。尝试创建Pen的对象。

Pen pen =new Pen(Color.Red,20f);
pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;

答案 1 :(得分:3)

试试这个:

m.pen = new Pen(Color.Red);

答案 2 :(得分:1)

Pens.Red是一个由框架初始化的静态成员,你无法修改它。

你必须像这样声明你自己的笔:

m.pen = new Pen(Color.Red);
m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;