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