C# 我的自定义控件赢了';在C中,在方法内部使用时不起作用#

C# 我的自定义控件赢了';在C中,在方法内部使用时不起作用#,c#,controls,C#,Controls,因此,我在C#中创建了一个自定义控件(它是一个循环进度条),并在其中创建了一些变量,如Min、Max和Value(每个进度条都必须有这些变量),每当我在方法中使用这些变量时(比如说按钮单击事件),代码都会正常编译,没有任何语法错误,但实际上不会执行任何操作。但是,当我在表单的主要方法中使用它时,它工作得很好。这是我刚才描述的代码 public partial class Form1 : Form { public Form1() { InitializeComp

因此,我在C#中创建了一个自定义控件(它是一个循环进度条),并在其中创建了一些变量,如Min、Max和Value(每个进度条都必须有这些变量),每当我在方法中使用这些变量时(比如说按钮单击事件),代码都会正常编译,没有任何语法错误,但实际上不会执行任何操作。但是,当我在表单的主要方法中使用它时,它工作得很好。这是我刚才描述的代码

 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        circlebar1.Value++; 
    }
}

你把它写错地方了。在程序中,只能在方法内部修改内容。方法是类内的命名代码部分,例如

请在此处阅读更多信息:

p、 您应该将[Category]属性应用于属性,而不是字段。字段通常应该是私有的


属性用于封装字段。请在此处阅读更多信息:

为什么要以不同于其他两个属性(最小值/最大值)的方式声明_值

可能是:

private int _value;

public int Value
{
    get{ return _value;}
    set{ _value = value;}
}
然后像这样使用它:

Circle_Progressbar.Circlebar.Value = 50;

感谢您的回复,我尝试了您所说的(它确实清理了很多代码),但当我在表单中使用它时,仍然会出现错误“Circle\u Progressbar.Circlebar.Value”是一个“属性”,但使用起来像“类型”@ArjanSingh您是否将行“Circle\u Progressbar.Circlebar.Value=50;”在一个方法中还是直接在一个类中?我把代码放在一个方法中,这个方法最终可以工作,但代码实际上什么都不做,例如,如果我转到属性并将值改为25,它将在那里工作,但如果我在代码中执行相同的操作,它将不起任何作用,但编译器现在接受代码而没有语法错误。@ArjanSingh您应该运行程序来执行代码。应该从Main方法(如果您的语句不在Main中)或从某个事件处理程序调用更改值的方法。您可以给我一个示例:)
private int _value;

public int Value
{
    get{ return _value;}
    set{ _value = value;}
}
Circle_Progressbar.Circlebar.Value = 50;