我是C#的新手,我不得不制作一个非常原始的神经元应用程序。 除了一些不动态更新的值外,它的效果非常好。
问题是,当我更改@IBAction func datePickerValueChanged(sender: UIDatePicker) {
print(sender.date)
}
中的某些值时,我希望当前函数(在numericUpDown
中选择)重新计算并更改comboBox
中的值(结果盒)
我确信它只是一件事,但我无法在任何地方找到它。
richTextBox
如果您需要,我可以提供更多代码。提前谢谢!
答案 0 :(得分:0)
您还需要一个事件让NumericUpDown重新计算该值。
尝试添加以下事件:
currentNumUpDown.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged);
currentNumUpDown2.ValueChanged += new EventHandler(comboBox1_SelectedIndexChanged);
请注意,Object sender
和EventArgs 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中获取值。