gpt4 book ai didi

C# 未处理类型为“System.StackOverflowException”的异常

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:08 24 4
gpt4 key购买 nike

希望我能解释清楚。我有一个倒计时计时器 - 用户输入时间等,然后选择是否要从单选按钮打开最小尺寸或最大尺寸。根据他们的选择,它将加载 Min 表单或 Max 表单,其中在 UserControl 表单中输入的时间值将被传递并开始倒计时。现在在用户控制表单上有暂停/停止、重置等按钮。我希望这些改为在 Min/Max 表格上。我希望最简单的方法是隐藏用户控件表单上的按钮,然后尝试将它连接到最小/最大表单上的按钮,这样如果按下它们,它就会像用户控件上的按钮一样预成型按下。但是我在标题中收到错误 - 它以黄色突出显示下面的语句(将执行的下一条语句)......

(注意——这行代码是 Min 形式——我需要声明它的一个新实例,这样我就可以调用函数 PauseMinClick(MinForm 上的暂停按钮)_我希望它调用 btnPauseClick 函数,它在 CountdownUserControl 中)。

    private CountdownUserControl CU = new CountdownUserControl();

private void PauseMin_Click(object sender, EventArgs e)
{
CU.btnPause_Click(sender, e);
}

并在下面以绿色突出显示(当该线程从当前函数返回时要执行的下一条语句)...

    private Min _Min = new Min();

(这是在我的 CountdownUserControl 类中 - 注意我需要它的一个实例来传递必须倒计时的值。有谁知道我应该做什么来轻松解决这个问题?理想情况下我不想重新- 编写大量代码 - 我只想让它与新表单 Max/Min 上的按钮一起工作,但连接起来就像在 UserControl 表单上按下它们一样(它们都可以正常工作)。

非常感谢 - 科利

最佳答案

听起来你有这个:

class CountdownUserControl
{
private Min _Min = new Min();

// Other stuff...
}

class Min
{
private CountdownUserControl CU = new CountdownUserControl();

// Other stuff...
}

换句话说,要创建 Min 的实例,您需要创建 CountdownUserControl 的实例……而这又需要创建 的实例>Min... 这又需要创建 CountdownUserControl 的实例...您明白为什么会遇到问题了吗?

我不太清楚您要实现的目标,但这就是问题的原因。也许一个类应该在其构造函数中使用一个参数以允许它引用另一个类的实例?

关于C# 未处理类型为“System.StackOverflowException”的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6995935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com