none
请问MSCHART的事件顺序。 RRS feed

  • 问题

  • 我在某个MDI文档的子窗体中使用MSCHART,发现某些情况下MSCHART会抛出“未将对象引用设置到对象的实例。”的异常,感觉可能是MSCHART尚未加载完有关。

    因为我是利用MDI父窗体向包含MSCHART的子窗体传递事件(数据),然后进行绘制,包含MSCHART的子窗体第一次出现的时候,是没有任何错误的,但将包含MSCHART的子窗体关闭,再次通过事件激活的时候,就会出现异常。但将事件传递去掉,改为手动按子窗体某个按钮进行绘制,则没有任何问题。

    也测试过监听子窗体的shown事件,也是一切正常。

    请问具体是什么原因呢?

    2010年12月6日 4:26

全部回复

  • 您需要确保 Microsoft Chart Control 在窗体的 Shown 事件后被绘制,如果是放在 Form Load 中的话,在一些不好的代码设计中,关闭 MDI 子窗体可能会导致 Microsoft Chart Control 的实例被回收。

    请同事确保每次使用 MDI 窗体使用的是 using 语句,并且确保在窗体的 override Dispose(bool disposing) 方法中正确释放了 Microsoft Chart Control 的本地变量。


    Mark Zhou
    2010年12月6日 10:06
  • override dispose是必须的吗?

    using没有相关的回收功能吗?

    2010年12月7日 1:41