где следует щелкнуть событие добавить после наследования окна? - PullRequest
0 голосов
/ 06 марта 2012

В следующем тестовом коде, когда откроется окно, тоже появится всплывающее окно приветствия. Звучит, что запускается код после fun _ -> при открытии окна. Когда я отлаживаю, чтобы увидеть без test001, кажется, что он не запускается один за другим, как не запускать код после fun _ ->:

let test001 = MessageBox.Show("hello")
type Server() as this =
    inherit windows
       do connectionButton.Click.Add (fun _ -> test001
                                            tc.Connect("localhost", 2626) )

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

Поскольку test001 является значением, оно оценивается только один раз.Вам нужна функция, которая будет вызывать MessageBox каждый раз, когда он вызывается:

let test001() = MessageBox.Show("hello") // test001 is now a function
type Server() as this =
    inherit windows
       do connectionButton.Click.Add (fun _ -> test001() |> ignore
                                               tc.Connect("localhost", 2626))
0 голосов
/ 06 марта 2012

Вам нужно создать экземпляр Server, как это

Предполагая, Server наследуется от System.Windows.Form

System.Windows.Forms.Application.Run(new Server())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...