2
示例代碼MessageBox.Show行爲來說明:有很多線路
private void button2_Click(object sender, EventArgs e)
{
const int numLines = 3000;
StringBuilder sb = new StringBuilder();
for(int i=0; i < numLines; i++)
{
sb.AppendFormat("Hello world {0}\r\n", i);
}
MessageBox.Show(this, sb.ToString(), "Error");
}
現在,我意識到這可能不是一個好主意,試圖顯示一個MessageBox太多行。但是當numLines是「大」時,我對它的預期行爲很好奇。例如在我的Windows 10機器上,如果numLines是3000,則根本不顯示消息框,並且必須從任務欄中刪除該程序。任何人都可以對此有所瞭解嗎?
編輯:感謝所有的答覆。行爲看起來相當隨機。
例如如果numLines = 2175,消息框顯示ok。 如果numLines = 2176,消息框不會出現,並且程序變得沒有響應。按下ALT-F4會使程序再次響應(就好像您剛剛關閉了一個您無法看到的模式對話框)。 如果numLines = 4208,只有標題爲「錯誤」(無正文)一個消息框,可以在屏幕這樣的底部可以看出:
2175是我所要做的最多行數,不管輸入字符串。 – Inisheer
@Inisheer - 謝謝。我也是。如果我使用2176,則沒有窗口顯示,並且該應用程序似乎表現得好像屏幕上有一個不可見的模式對話框(無響應)。 –