Как обновить форму Windows в F # или C #? - PullRequest
0 голосов
/ 08 декабря 2018

Допустим, я хочу, чтобы размер формы был 100x100, а затем 200x200 через 1 секунду, как мне это сделать?Обновлять ли размер после запуска формы?Должен ли я использовать Thread.Sleep () после настройки размера, а затем установить новый размер?Я действительно запутался, как это сделать.В конечном итоге я хочу иметь растровое изображение на экране, которое будет управляться клавишами со стрелками.Но только для того, чтобы лучше понять, как заставить работать приведенный ниже код?

open System
open System.Drawing
open System.Windows.Forms
open System.Threading

let form = new Form()

form.Size <- new Size(100, 100)

Thread.Sleep(1000)

form.Size <- new Size(200, 200) // ???

do Application.Run form

Вторая попытка

open System
open System.Drawing
open System.Windows.Forms

let form = new Form()

form.Size <- new Size(100, 100)

do Application.Run form

let timer = new Timer()
timer.Interval <- 1000
timer.Start()

form.Size <- new Size(200, 200)

1 Ответ

0 голосов
/ 08 декабря 2018

Это один из способов сделать это:

open System
open System.Drawing
open System.Windows.Forms
open System.Threading

let form = new Form()

form.Size <- new Size(100, 100)

async {
    do! Async.Sleep 1000
    form.Size <- new Size(200, 200)
} |> Async.Start

do Application.Run form
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...