C# 列表未设置为presenter控件的值

C# 列表未设置为presenter控件的值,c#,winforms,mvp,C#,Winforms,Mvp,我正在尝试创建numericUpDown.value的列表,当我按下按钮时,它会从演示者设置一个随机值;但是,当我按下按钮时,什么也没有发生,我看到值发生了变化,但我认为它只是用一个值而不是设定值替换了数控 观点: public partial class Form1 : Form, IForm1 { public List<decimal> _valueList { get; set; } public Form1() { Initiali

我正在尝试创建numericUpDown.value的列表,当我按下按钮时,它会从演示者设置一个随机值;但是,当我按下按钮时,什么也没有发生,我看到值发生了变化,但我认为它只是用一个值而不是设定值替换了数控

观点:

public partial class Form1 : Form, IForm1
{
    public List<decimal> _valueList { get; set; }

    public Form1()
    {
        InitializeComponent();
       this._valueList = new List<decimal> { numericUpDown1.Value, numericUpDown2.Value, numericUpDown3.Value, numericUpDown4.Value, numericUpDown5.Value, numericUpDown6.Value };
    }

    public List<decimal> ValueList
    {
        get => _valueList; set => _valueList = value;
    }

    public event EventHandler ButtonClick;

    private void button1_Click(object sender, EventArgs e)
    {
        ButtonClick?.Invoke(sender, e);
    }
}

我看不到从
值列表中分配
NumericUpDown.Value
属性的任何逻辑。但是,我不熟悉您使用的框架。这里是否发生了某种类型的数据绑定?我将NumericUpDown.value添加到构造函数中的列表中,并尝试从presenter
\u form1.ValueList[i]=random.Next(0,10)设置一个新值
,但我认为我只是替换了当前的NumericUpDown,而不是设置一个新的值,而且我可以从接口
decimal numericValue1{get;set;}
创建一个属性并使用它,但是我必须使用许多控件,并试图找到一种方法将它们一起使用。我看不到从
值列表中分配
NumericUpDown.Value
属性的任何逻辑。但是,我不熟悉您使用的框架。这里是否发生了某种类型的数据绑定?我将NumericUpDown.value添加到构造函数中的列表中,并尝试从presenter
\u form1.ValueList[i]=random.Next(0,10)设置一个新值
,但我认为我只是替换了当前的NumericUpDown,而不是设置一个新的值,而且我可以从接口
decimal numericValue1{get;set;}
创建一个属性并使用它,但我必须使用许多控件,并尝试找到一种方法将它们一起使用
public interface IForm1
{
    List<decimal> ValueList { get; set; }
    event EventHandler ButtonClick;
}
public class PresenterForm1
{
    private IForm1 _form1;

    public PresenterForm1(IForm1 form1)
    {
        _form1 = form1;

        form1.ButtonClick += ButtonClick;
    }

    private void ButtonClick(object sender, EventArgs e)
    {
        var random = new Random();

        for(int i = 0; i < 6; i++)
        {
            _form1.ValueList[i] = random.Next(0, 10);
        }
    }
foreach (var item in _form1.ValueList)
            {
                item.Value = random.Next(0, 99);
            }