C# 列表未设置为presenter控件的值
我正在尝试创建numericUpDown.value的列表,当我按下按钮时,它会从演示者设置一个随机值;但是,当我按下按钮时,什么也没有发生,我看到值发生了变化,但我认为它只是用一个值而不是设定值替换了数控 观点: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
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);
}