none
請教關於用beginInvoke會陷入無窮迴圈的問題 RRS feed

  • 問題

  • 我有三個CLASS:UI CLASS ;  ChildUI Class ; CONTROL CLASS ;

    現在從ChildUI Class下了一個指令,呼叫Control Class中的一個method

    然後Control Class會做Control.BeginInvoke(delegate method),呼叫ChildUI Class裡的Delegate method

    而ChildUI Class的這個Delegate Method會再把,由COntrol經由delegate丟過來的msg,原封不動一樣用Control.BeginInvoke

    丟給最上層的UI Class,最後這個UI Class才會做動作

    但是我在中間第二層的時候,就發現好像會進入無窮回圈

    DEBUG結果是CONTROL CLASS的begininvoke不斷的重覆執行,結果造成在ChildUI Class的Delegate method裡面一直跑

    就跑不到最上層的UI CLASS

    請問是為什麼會有這種情況發生?
    2009年2月9日 上午 10:03

所有回覆

  • HI,

    如果您是要由Control Class傳出一個訊息到最上層的UI CLASS, 可以考慮改用引發事件的方式來送出MSG

    tihs
    2009年2月10日 上午 01:42