m.pen = Pens.Red; //No error
m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square; //error
其中m是另一个类的对象,它将Pen视为全局。
当我尝试设置endcap或startcap时,它会向我显示错误
“由于权限无效,无法对Pen进行更改。”
任何人都知道如何纠正这一点。
答案 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;