1. 程式人生 > >System.ArgumentOutOfRangeException: 容量超出了最大容量

System.ArgumentOutOfRangeException: 容量超出了最大容量

出錯日誌

引數名: capacity

System.Text.StringBuilder.ReplaceBufferAnsiInternal(SByte* newBuffer, Int32 newLength)

Sunisoft.IrisSkin.x61467fe65a98f20c.GetWindowText(IntPtr hWnd, StringBuilder lpString, Int32 nMaxCount)
Sunisoft.IrisSkin.xb052c904ac95dc43..ctor(IntPtr handle, SkinEngine engine)
Sunisoft.IrisSkin.SkinEngine.DoAddDlg(IntPtr handle, Boolean isManul)

Sunisoft.IrisSkin.SkinEngine.FnHookProc(Int32 nCode, IntPtr wParam, IntPtr lParam)
System.Windows.Forms.SafeNativeMethods.MessageBox(HandleRef hWnd, String text, String caption, Int32 type)
System.Windows.Forms.MessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defaultButton, MessageBoxOptions options, Boolean showHelp)

System.Windows.Forms.MessageBox.Show(String text, String caption, MessageBoxButtons buttons, MessageBoxIcon icon)

MessageBox.Show 容量超出了最大容量。引數名: capacity

       if (MessageBox.Show("確實要刪除所選擇的資料嗎?", "刪除提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)

這句程式碼出錯是因為在MessageBox.Show()的第二個引數“刪除提示”字數過長,把“提示”去掉就ok了;這句程式碼會出錯是因為使用了IrisSkin4.dll或IrisSkin2.dll

面板外掛導致的。

但是64位Windows系統測試這句程式碼沒有問題,只在32位Windows系統出現問題。