使用轨迹栏值

时间:2017-10-26 12:51:40

标签: c# winforms trackbar

正如它在标题中所说,我试图通过使用轨迹栏来增加笔的宽度。 这就是我到目前为止所写的内容:

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' 

1 个答案:

答案 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;