我创建了一个自定义表单,其中包括一些按钮和文本框。
此自定义表单是通过我在附加到“Ribbon”的 Microsoft Outlook 插件上创建的点击事件按钮打开的。(不确定是否重要,这里没有问题)。
在 Windows 表单上,第一个按钮仅将文本文件的内容保存到磁盘。
另一个按钮尝试关闭表单。在此按钮的单击事件中,我尝试了以下两行代码,分别和同时使用:
this.Close(); 和 this.Dispose();
当我使用此按钮或表单退出(位于 Windows 表单右上角的“x”)时,会收到以下错误:
用户未处理 COMException HRESULT 的异常:0x800A01A8
当出现此错误时,它会将我带到“Connect.cs”文件的下面方法:
public void OnBeginShutdown(ref System.Array custom)
{
this.toolbarButton.Delete(System.Reflection.Missing.Value);
this.toolbarButton = null;
}
我不确定如何开始解决这个问题。我已经做了相当多的研究,但不幸的是没有找到太多有用的信息。我想问题可能在于我没有经验就自己创建了一个自定义表单,而且可能有一些“清理”或“最佳实践”方面的工作我没有做或者不知道该怎么做。
有人能提供一些见解吗?
if (this.toolbarButton != null)
以确保安全。 - Hans Passant