正如它在标题中所说,我试图通过使用轨迹栏来增加笔的宽度。 这就是我到目前为止所写的内容:
public partial class Form26_10 : Form
{
float scrollValue = 0F;
Pen CustomPen = new Pen(Color.Black, scrollValue);//ERROR<-
public Form26_10()
{
InitializeComponent();
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
scrollValue = trackBar1.Value;
}
}
本质上我应该能够在内存中声明一个值,然后将它放在笔宽度参数中,这样当轨迹栏值改变时,笔的宽度会发生变化。虽然我收到了这个错误:
a field initializer cannot reference the non-static field, method or property of 'Form.scrollValue'
答案 0 :(得分:1)
public partial class Form26_10 : Form
{
private Pen CustomPen;
public Form26_10()
{
InitializeComponent();
CustomPen = new Pen(Color.Black, scrollValue);
}
private void trackBar1_Scroll(object sender, EventArgs e)
{
CustomPen.Width = trackBar1.Value;
}
}
如果您的值有变化,则不应在声明时初始化类字段。此外,float的默认值为0.0F,因此您无需初始化它。我在这个例子中删除了它,因为我认为你不需要它。如果你仍然打算使用它,你可以将它添加到顶部。
float scrollValue;