希望我可以解釋這一點。我有一個倒數計時器 - 用戶輸入時間等,並選擇他們是否想從單選按鈕打開最小尺寸或最大尺寸。根據他們選擇哪一個,它將加載最小形式或最大形式,其中輸入到UserControl表單中的值將被傳遞並開始倒計時。現在在用戶控制表單上有用於暫停/停止,重置等的按鈕。我希望這些是在最小/最大的形式。我希望對我來說最簡單的方法是隱藏用戶控件窗體上的按鈕,然後嘗試將它連接到最小/最大窗體上的按鈕,這樣如果按下按鈕,它就像用戶控件上的按鈕一樣按下。不過我正在錯誤的標題 - 它突出以下聲明爲黃色(將要執行的下一條語句)....C#未處理的類型爲'System.StackOverflowException的異常
(注 - 這行代碼是在閩形式 - 我需要聲明它的新實例,所以我可以調用函數PauseMinClick(MinForm上的暫停按鈕)_我想要它調用CountdownUserControl中的btnPauseClick函數)。
private CountdownUserControl CU = new CountdownUserControl();
private void PauseMin_Click(object sender, EventArgs e)
{
CU.btnPause_Click(sender, e);
}
,並強調在下面綠色一(下一條語句執行時從當前函數這個線程返回)...
private Min _Min = new Min();
(這是我的CountdownUserControl類 - 請注意,我需要一個實例在這裏傳遞的值必須倒計時,有誰知道我應該怎麼做才能很容易地解決這個問題?理想情況下,我不想重寫很多代碼 - 我只想讓它與新窗體上的按鈕最大值/最小值,但連接起來就好像它們在UserControl窗體上被按下一樣(它們都工作正常)。
非常感謝 - Colly
我在想,'CU.btnPause_Click'會實際上調用'PauseMin_Click' :-) – CodeNaked
@John - 是的,這是我的場景類型 - 我現在看到它是如何造成問題的。我不能確定你的解決方案。我正在嘗試使用Min中CountdownuserControl中的一個函數。因此,在分鐘內,我想打電話給CU.btnPauseClick –
@CollyMcK:你需要考慮應該創建其他類的實例。大概你想在'CountdownUserControl'的特定實例上調用'btnPauseClick',而不是任意的。 –