我编写的代码不仅仅是添加辅助轴。但是,有时,它会在代码末尾的NodeList
上的最后一个使用命令返回运行时错误。为了完整起见,我转录了整个节目。这种运行时错误并不总是会发生,但我似乎并不了解它何时发生,或者为什么......你知道如何解决这个问题吗?
任何帮助将不胜感激
if (MyTreeView.Items.Cast<TreeViewItem>().Any(item => item.Header.ToString() == @"C:\"))
{
MessageBox.Show(@"Tree contains C:\");
}
答案 0 :(得分:0)
免责声明:严格来说,这不是一个答案,因为它不包含新信息,只重复它。但是因为这个问题没有得到答复(除了@An old man in the sea.
隐藏在评论中的暗示之外),我想以通常的方式将其写下来,以便可能帮助其他人。
我还收到了一些非常有用的错误消息,例如System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
。
正如@An old man in the sea.
在评论中提到的那样,在轴连接了一些数据之后,我移动了有关格式化轴瓦,比例等的有问题的部分。这导致了例外的消失,并在几天后取得了进展: - )
所以在伪代码而不是
FormatSecondaryAxis(chart);
DrawDataToSecondaryAxis(chart);
只需交换订单并先进行绘图,然后再格式化。
哦顺便说一下,这个C#代码:
chart.HasAxis[Excel.XlAxisType.xlValue, Excel.XlAxisGroup.xlSecondary] = true;
chart.HasAxis[Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlSecondary] = true;
chart.SetElement(Microsoft.Office.Core.MsoChartElementType.msoElementSecondaryValueAxisTitleAdjacentToAxis);
没有做到这一点。如果没有实际数据没有连接到轴,则最后一行抛出异常。