画面の右上下への吸着(というか移動)
画面の右上、右下にWindowを飛ばすボタンをテスト。
アイコン化→通常Windowへ復帰した場合、画面の上限、右端、下限に接している場合現状のtop,leftを固定せずに拡大方向を切り替えてどのように見えるかを確認してみた。
Windowの位置、サイズについては直接this.left、this.topをセットするというのが一番単純な方法ですが、それだと最低でも2ステップの実行となってしまいトランジション中にがたつきが目立つので、Win32のSetWindowPosでまとめてセットするように変更。
Windowの位置変更は非常に速いが、サイズの変更は予想通り処理が重い。
位置変更トランジションは中間に100ステップ入れていますがほとんど瞬間移動しているように見えます。
サイズの変更は30ステップ程度でタイミング的に釣り合うイメージでした。
新たに出てきた問題点
・Windowの位置変更にDragMoveを利用しているが、ドラッグ中のスクリーン枠へのスナップがForms+VBの時のように簡単にいかない(気がする)