我正在使用SetWindowPlacement
函數來(1)最大化和(2)更改桌面上外部窗口的恢復位置。但是,當我在WinForm窗口上使用此命令時,似乎沒有正確設置恢復位置。 (我測試的WinForm窗口只是一個沒有修改的VS2008 WinForms應用程序。)所以,例如,如果窗口處於(0,0)的恢復狀態,並且我使用SetWindowPlacement
來最大化它並將其設置爲將位置恢復到(100,100),然後單擊窗口的恢復按鈕,它將不會恢復到(100,100),而會恢復到(0,0)。實際上,窗口首先恢復到我設置的位置,然後在以編程方式操作之前移回其最後的恢復位置。我很困惑,爲什麼這隻會發生在WinForm窗口 - 每個非WinForm窗口我嘗試這個恢復到我指定的位置SetWindowPlacement
。使用SetWindowPlacement更改窗口的恢復位置不適用於每個窗口
我知道這並不多,但我想知道這裏有沒有人對此有何看法。謝謝。
嗯......非常有趣。是的,我已經嘗試在移動之前先進行恢復,這會產生一些閃爍。是否有任何RestoreWindowBoundsIfNecessary()的文檔可以指向我?我發現自己很少。謝謝! – 2010-06-27 19:33:12
Form類的源代碼可以從Reference Source獲得:http://referencesource.microsoft.com/ – 2010-06-27 19:45:03
非常有幫助。謝謝。 :-) – 2010-06-27 20:50:37