m.pen = Pens.Red; //No error m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square; //error
其中m是另一个类的对象,它将Pen作为全局对象。当我试图设置endcap或startcap时,它显示错误为“无法更改Pen,因为权限无效。”任何人都知道如何纠正这一点。
9rbhqvlz1#
Pens返回的Pen对象是不可变的,这意味着它们的属性不能更改。尝试创建一个Pen对象。
Pen pen =new Pen(Color.Red,20f); pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;
ogq8wdun2#
试试这个:
m.pen = new Pen(Color.Red);
tzdcorbm3#
Red是一个由框架初始化的静态成员,你不能修改它。你必须像这样声明你自己的笔:
m.pen = new Pen(Color.Red); m.pen.EndCap = System.Drawing.Drawing2D.LineCap.Square;
igetnqfo4#
获得此异常的另一个原因是释放从Pens类创建的Pen**对象。**考虑以下情况:
Pens
Pen
Pen pen = Pens.Red; // Use the pen object here... pen.Dispose(); // throws the same exception
如果你想释放你的pen对象,那么通过Pen构造函数创建它,就像
pen
Pen pen = new Pen(Color.Red, 1);
4条答案
按热度按时间9rbhqvlz1#
Pens返回的Pen对象是不可变的,这意味着它们的属性不能更改。尝试创建一个Pen对象。
ogq8wdun2#
试试这个:
tzdcorbm3#
Red是一个由框架初始化的静态成员,你不能修改它。
你必须像这样声明你自己的笔:
igetnqfo4#
获得此异常的另一个原因是释放从
Pens
类创建的Pen
**对象。**考虑以下情况:如果你想释放你的
pen
对象,那么通过Pen
构造函数创建它,就像