2013-05-27 31 views
4

我用正確的方式使用了ConfigureEvent嗎?當我調整大小或改變窗口的位置時,什麼都沒有發生,標籤的文本不會像我期待的那樣變爲「更改」?F#單聲道GTK ConfigureEvent

module Main = 
    open System 
    open Gtk 
    [<EntryPoint>] 
    let Main(args) = 
     Application.Init() 
     let win = new MainWindow.MyWindow() 
//  ----------------------------------------- 
     let l = new Label("None") 
     win.Add l 
     win.ConfigureEvent.Add(fun _ -> 
      l.Text <- "Changed") 
//  ----------------------------------------- 
     win.ShowAll() 
     Application.Run() 
     0 
+0

它可以與C#一起使用嗎?如果沒有,那麼你使用錯誤的API – knocte

回答

0

根據這一faq,則需要將屬性添加到處理這個工作。這個C#代碼的工作:

[GLib.ConnectBefore] 
protected void OnConfigureEvent (object sender, ConfigureEventArgs a) 
{ 
    label1.Text = "Changed"; 
} 

對於這個在您的F#代碼工作,你可能需要有處理程序是一個實例方法,而不是一個拉姆達,所以你有什麼附加屬性。我猜你應該真的在使用其他事件,但我不確定是哪一個。