2010-01-14 18 views
0

我正在做一個警報系統,它將顯示消息'a la'Messenger,並且我希望它們移動或調整大小以使它們顯示。如何動態移動/調整表單的大小?

我怎麼能做到這一點,而不必這樣做:

do 
{ 
this.prop += 1; 
} while (this. prop = destination); 
+0

我不明白這一點代碼和你試圖實現的功能之間的聯繫。你是否試圖避免使用緊密的循環來改變窗口的座標和/或大小? – 2010-01-14 15:02:59

+0

@Adam Crossland - 是的,我想'動畫'的形式沒有做那些討厭的循環 – Luiscencio 2010-01-14 15:04:01

回答

3

你需要做一個Timer組件並調用窗體的SetBounds方法在計時器的Tick事件中。

0

設置form.size屬性來改變大小,form.position改變位置

0

您需要一個幀速率獨立插補器。

看一看:Frame Rate Independent interpolation。基本上,這個想法是,你計算出你當前的位置應該基於預期的動畫時間以及你已經做了多少動畫......這意味着動畫從點a到點需要花費相同的時間b在任何硬件上。

當然,您需要將表單中的值與表單放在一起,但這就是簡單的部分!