
フォームをなめらかに移動する方法はないでしょうか?
以下のコードのように、Locationで位置を変更すると、カクカク移動してしまいます。
ご存知の方おしえてください。どうぞよろしくお願いいたします。
Private Sub Form1_Mousemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim WorkingArea As Rectangle = Screen.PrimaryScreen.WorkingArea
Dim MousePos As Point = Me.PointToClient(Windows.Forms.Cursor.Position)
'上に移動
If Me.Size.Height * 0.8 < MousePos.Y And Me.Location.Y > 0 Then
Me.Location = New Point(Me.Location.X, Me.Location.Y - 20)
End If
'下に移動
If Me.Size.Height * 0.2 > MousePos.Y And (Me.Location.Y + Me.Size.Height) < WorkingArea.Height Then
Me.Location = New Point(Me.Location.X, Me.Location.Y + 20)
End If
'左に移動
If Me.Size.Width * 0.8 < MousePos.X And Me.Location.X > 0 Then
Me.Location = New Point(Me.Location.X - 20, Me.Location.Y)
End If
'右に移動
If Me.Size.Width * 0.2 > MousePos.X And (Me.Location.X + Me.Size.Width) < WorkingArea.Width Then
Me.Location = New Point(Me.Location.X + 20, Me.Location.Y)
End If
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは
用途はわかりませんが逃げるフォーム
面白いプログラムですね~
既に解決していらっしゃるかもしれませんが
20を1にしてみてはいかがでしょうか
1.8GHz 2GB でもスムーズに動きましたよ
この回答への補足
作りたいイメージのソフトを見つけました。
mag4pという拡大鏡フリーソフトです。
こちらはスムーズに動きました。
スペックの問題ではないようです。
APIをつかうか、フォームをペイントで描いてみます。
No.2
- 回答日時:
>> 1.8GHz 2GB でもスムーズに動きましたよ
> 20を1にすると、移動速度が遅いんです。。。
スムーズには動いたのですか?
スペックの悪いPCでどうにかしようという話なのか、
1回の移動距離を20にしたい話なのかが分かりません
でした。
ただ、後者でも、1回のトリガーで1から20までの座標に
順番に移動させればいいだけに思えますけどね。
プログラム関係なく、小学生がなぞなぞ解くレベルの
発想にも思いますが。
回答ありがとうございます。
初めは移動距離を+1にしていたのですが、
ゆっくりいどうするので+20にしました。
そうするとカクカクしながら移動していくので、
なめらかに移動できないものか考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
エクセルで回転する座標の出し方
-
回転する矩形同士の当たり判定...
-
3次元空間上の2つの座標から...
-
始点、終点の二つの座標と半径...
-
エクセルである点からの距離で...
-
OpenCvSharp4による画像判定解...
-
3次元座標上の2直線の交点判...
-
マインクラフト(pc版)で座標...
-
最小二乗平面
-
オートシェイプ円弧の中心点、...
-
複数の回転する長方形の衝突判定
-
複数コントロール(ラベル)を...
-
黒体放射軌跡のxy色度座標への...
-
以下のプログラムは重心を求め...
-
任意軸回転を、XYZ軸回転の...
-
3D座標上のベクトルをを2D平...
-
閉図形の座標の配列が右回りか...
-
正規表現の書き方(座標関係)
-
シーケンサー(PLC?)で制...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
シーケンサー(PLC?)で制...
-
ダイアログ内コントロールの位...
-
エクセルで回転する座標の出し方
-
ワード上Shapeの位置情報を統一...
-
Excel VBA で自在に図形を変化...
-
始点、終点の二つの座標と半径...
-
C言語で制作するピラミッドアー...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
ガウシアンフィルタのCプログラム
-
任意点を中心とした回転
-
c言語でキーボードから2点の座...
-
求積表の計算方法
-
3D→2Dの座標変換で、スクリーン...
-
以下のプログラムは重心を求め...
-
変数名のこだわりについて
-
複数の回転する長方形の衝突判定
おすすめ情報