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

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

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

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

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

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

4

3 回答 3

7

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

Pen pen =new Pen(Color.Red,20f);
pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;
于 2012-06-09T09:50:49.603 回答
3

试试这个:

m.pen = new Pen(Color.Red);
于 2012-06-09T09:51:34.643 回答
1

Pens.Red 是框架初始化的静态成员,不能修改。

您必须像这样声明自己的 Pen:

m.pen = new Pen(Color.Red);
m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;
于 2012-06-09T09:52:13.327 回答