private void btnItemPWMInc_Click(object sender, EventArgs e)
        {
            bool isPWMOverFlow = IsPWMOverFlow();
            if (!isPWMOverFlow)
            {
                int PWM = Convert.ToInt32(txtBoxItemPWMPercentage.ControlText);
                PWM += 5;
                if (PWM > 100)
                    PWM = 100;
                txtBoxItemPWMPercentage.ControlText = Convert.ToString(PWM);
            }
        }        private void btnItemDec_Click(object sender, EventArgs e)
        {
            bool isPWMOverFlow = IsPWMOverFlow();
            if (!isPWMOverFlow)
            {
                int PWM = Convert.ToInt32(txtBoxItemPWMPercentage.ControlText);
                PWM -= 5;
                if (PWM < 0)
                    PWM = 0;
                txtBoxItemPWMPercentage.ControlText = Convert.ToString(PWM);
            }
        }
        
        private bool IsPWMOverFlow()
        {
            bool isPWMOverFlow=true;
            int PWM = Convert.ToInt32(txtBoxItemPWMPercentage.ControlText);
            if (PWM >= 0 || PWM <= 100)
                isPWMOverFlow = false;
            else if (PWM < 0)
            {
                PWM = 0;
                isPWMOverFlow = true;
            }
            else if (PWM > 100)
            {
                PWM = 100;
                isPWMOverFlow = true;
            }
            return isPWMOverFlow;
        }
如此程序正常无误但是每个子程序里都用到了PWM变量,为了简化,我把每个函数的变量声明都去掉
并在private void btnItemPWMInc_Click(object sender, EventArgs e)上面加一行
private int PWM = Convert.ToInt32(txtBoxItemPWMPercentage.ControlText);
但是编译出错了,提示:A field initializer cannot reference the non-static field, method, or property
如图所示这是为何呢?我在定义成private static int PWM 也没用啊