C#动态更改值

时间:2016-11-08 10:28:31

标签: c# dynamic

我是C#的新手,我不得不制作一个非常原始的神经元应用程序。 除了一些不动态更新的值外,它的效果非常好。

问题是,当我更改@IBAction func datePickerValueChanged(sender: UIDatePicker) { print(sender.date) } 中的某些值时,我希望当前函数(在numericUpDown中选择)重新计算并更改comboBox中的值(结果盒)

我确信它只是一件事,但我无法在任何地方找到它。

richTextBox

如果您需要,我可以提供更多代码。提前谢谢!

3 个答案:

答案 0 :(得分:0)

您还需要一个事件让NumericUpDown重新计算该值。

尝试添加以下事件:

currentNumUpDown.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged); 
currentNumUpDown2.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged);

请注意,Object senderEventArgs e在方法上会有所不同,具体取决于称为方法的事件。

答案 1 :(得分:0)

@FatTony

if(comboBox1.Text=="Suma")
        {
            decimal s = 0;
            decimal temp;
            for (int i = 0; i < numericUpDown1.Value; i++)
            {
                var currentNumUpDown = this.panel1.Controls["numericUpDown" + (100 + i).ToString()] as NumericUpDown;
                var currentNumUpDown2 = this.panel1.Controls["numericUpDown" + (200 + i).ToString()] as NumericUpDown;
                currentNumUpDown.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged);
                currentNumUpDown2.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged);
                MessageBox.Show("executed");
                temp = currentNumUpDown.Value * currentNumUpDown2.Value;
                s = s + temp;
            }

答案 2 :(得分:0)

void ValueChanged(object sender, EventArgs e)
    {
        string temp_id = ((NumericUpDown)sender).Name.Remove(0, 14);
        if(temp_id[0]=='0')
        {
            temp_id = temp_id.Remove(0, 1);
        }
        int id = Int32.Parse(temp_id);
        decimal v1, v2;
        var numericUpDown1 = this.panel1.Controls["numericUpDown" + (100+id).ToString()] as NumericUpDown;
        var numericUpDown2 = this.panel1.Controls["numericUpDown" + (200+id).ToString()] as NumericUpDown;
        var CurrentTextBox = this.panel1.Controls["Text" + (100+id).ToString()] as TextBox;
        if (numericUpDown1 != null && numericUpDown2 != null)
        {
            v1 = numericUpDown1.Value;
            v2 = numericUpDown2.Value;
            CurrentTextBox.Text = (v1 * v2).ToString();
        };

这是自定义事件,它创建numericUpDown,从另一个numeriUpDown中获取值。