
フォームをなめらかに移動する方法はないでしょうか?
以下のコードのように、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で質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- その他(SNS・コミュニケーションサービス) 自分のpcがハッキングされたようなメールが来たのですがどうすればいいですか? 4 2022/10/02 16:14
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
C言語で制作するピラミッドアー...
-
閉図形の座標の配列が右回りか...
-
ピクチャボックスの座標取得
-
ワード上Shapeの位置情報を統一...
-
OpenCvSharp4による画像判定解...
-
当たり判定後に面に沿って動か...
-
オブジェクト指向による座標変...
-
C#でスクリーンセーバーを作る...
-
2つの座標と角度から交点座標の...
-
任意点を中心とした回転
-
3次元空間上の2つの座標から...
-
CADソフトの線の表現?
-
シーケンサー(PLC?)で制...
-
C言語 配列で座標
-
最小二乗平面
-
マインクラフト(pc版)で座標...
-
座標を持った平面範囲に座標を...
-
ピクセルの座標を取得するには
-
2D座標を3D座標に変換する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの交点の求め方(Excel)
-
マインクラフト(pc版)で座標...
-
3次元空間上の2つの座標から...
-
エクセルで回転する座標の出し方
-
ダイアログ内コントロールの位...
-
多角形の内部かどうか判定する方法
-
交差する2線分の交点座標の求め方
-
ワード上Shapeの位置情報を統一...
-
C言語 配列で座標
-
閉図形の座標の配列が右回りか...
-
シーケンサー(PLC?)で制...
-
Excel VBA で自在に図形を変化...
-
直線上にある点の座標の求め方
-
エクセルである点からの距離で...
-
OpenCvSharp4による画像判定解...
-
始点、終点の二つの座標と半径...
-
GLで座標を変えて回転させたい
-
ピクチャボックスの座標取得
-
最小二乗平面
-
c言語でキーボードから2点の座...
おすすめ情報