我有这个方法:
private int calculate_min(Int32 from, Int32 to)
{
string minuti = "0";
long result = (Convert.ToInt32(to) - Convert.ToInt32(from));
TimeSpan ts = TimeSpan.FromSeconds(result);
double minutes = ts.TotalMinutes;
minuti = Convert.ToString(minutes);
return Convert.ToInt32(minuti);
}
我用
来称呼它string TxtCausale = calculate_min(Convert.ToInt32(Controllo_2_Secondi),
Convert.ToInt32(Controllo_1_Secondi)).ToString();
但它出错了:
确保没有无限循环或无限递归。
System.StackOverflowException was unhandled
_HResult = -2147023895
错误出现在这一行'dateTimePicker2.Value = dateTimePicker2.Value.AddDays(1);'
怎么了?
答案 0 :(得分:2)
心灵调试激活!
我怀疑OP正试图进行双向绑定。
当控制A更改时,更新控件B(通过属性)
当控制B更改时,更新控制A
最简单的解决方案是进行以下检查。
public double Controllo_2_Secondi
{
get
{...}
set
{
if (Controllo_2_Secondi == value) return;
//Your logic here
}
}
答案 1 :(得分:0)
你没有看到
的问题dateTimePicker2.Value = dateTimePicker2.Value.AddDays(1);
您向dateTimePicker2.Value添加了一天,然后激活了ValueChanged
然后在该链中的某些位置添加一天并触发另一个ValueChanged
在该行上进行调试,我怀疑你会多次看到它被调用
您需要发布实际抛出错误的代码。没有迹象表明您在问题顶部发布的代码与错误有关。