在 C# 中的方法中使用时,我的自定义控件不起作用

本文关键字:我的 自定义控件 不起作用 方法 | 更新日期: 2023-09-27 18:32:20

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

 public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void button1_Click(object sender, EventArgs e)
    {
        circlebar1.Value++; 
    }
}

我想说的图片

在 C# 中的方法中使用时,我的自定义控件不起作用

为什么你声明_value的方式与声明其他两个属性(最小值/最大值)的方式不同?

它可能应该是:

private int _value;
public int Value
{
    get{ return _value;}
    set{ _value = value;}
}

然后像这样使用它:

Circle_Progressbar.Circlebar.Value = 50;

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

public class X
{
  public void DoSomething() //this is a method
  {
    //write your code here
  }
  //not here!
}

在这里阅读更多: https://msdn.microsoft.com/en-us/library/ms173114.aspx

附言您应该将 [类别] 属性应用于属性,而不是字段。字段通常应该是私有的。

private int _Value;  //this is a field
[Category("MyCathegory")]  //this attribute is used by the Visual Studio properties window to organize your control's properties
public int Value 
{ 
    get { return _Value; }
    set { _Value = value; }
}

属性用于封装字段。在此处阅读更多内容: https://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx