【C#】座標操作のメソッドの使い分け【まとめメモ】


座標ポジション絡みのメソッドを一覧にしてみました。

サンプルつけなくても、Visual Studioなら ヘルプもあるし、 Locationかどうかある程度検討つくし、なくても大丈夫だよねっって感じで、サンプルは付けてません。サンプルつけると長ったらしくなる上に余計な部分に注意も取られ、ざっと書けないから面倒。。

大きさの順位と定義

マルチディスプレイ > プライマリディスプレイ = スクリーン座標(絶対座標) >デスクトップ座標 > クライアント座標(相対座標) なイメージです。

使い分けメソッド一覧(プロパティもあるよ)

目的 使用クラス・プロパティ
フォームの絶対座標位置を求める/セットする。(内部のパーツは相対座標)

.Top , .Left , .Bottom, .Right をFormなどで使う。

位置は Location、サイズは Size、両方はBounds。セットもできる。 セットにはSetBounds()も利用可能 サイズ指定量は制限量としてMinimumSize、MaximumSizeに注意

中央表示は、両方の幅の差を2で割れば良い。 中央表示はthis.StartPosition = FormStartPosition.Manual; も利用可能

デスクトップ座標(タスクバーを除く) ※作業エリア外には、タスクバーの他にドッキングウィンドウの分も含むらしい。

SetDesktopLocation() DesktopLocation

SetDesktopBounds() DesktopBounds

メインスクリーンの大きさ

System.Windows.Forms.Screen.PrimaryScreen

※複数のディスプレイをつないで他のディスプレイも見たいときはScreen.AllScreensなども使う

SystemInformation.PrimaryMonitorSizeはプライマリ ディスプレイの現在のビデオ モードのサイズ (ピクセル単位)

デスクトップ(タスクバーを除いた)スクリーンの大きさ

System.Windows.Forms.Screen.PrimaryScreen.WorkingArea

SystemInformation.WorkingArea

相対座標を絶対座標(Screen)に変換する。

this.PointToScreen()

thisはFormなど。RectangleToScreen()もある。

絶対座標を相対座標(クライアントの座標)に変換する。

PointToClient()

Formのメソッド

プライマリモニタの画面全体の幅と高さ

クライアント領域

ウィンドウのパーツのサイズ

GetSystemMetrics() 関数
他アプリのウィンドウを動かす

MoveWindow()

Zオーダは SetWindowPos() を使う。

取得は GetWindowRect()を使う。 相対は GetClientRect()を使う

マウスカーソルの位置を相対座標で見る MouseDown のイベントで MouseEventArgs eを使って e.getX();e.getY();で求める。
マウスカーソルの位置を絶対座標で見る・セットする System.Windows.Forms.Cursor.Position Control.MousePosition

Cursorの方はセットも可

関連ページリンク

メソッド作成時に手を抜く方法(メソッドが引数、無名メソッド)【C#】

アプリケーションの設定を保存しておく方法【C#】

デバッグや通知に便利なメッセージ通知方法の使い分け【C#】

クリップボード操作方法の原則【C#】

アイコンイメージ3つの取得方法サンプルプログラム【C#】

キーエミュレート送信のまとめ【C#】【覚書メモ】

【HTML/JavaScript】位置情報扱い方法まとめ【scroll/mouse/element/document/window】

Delicious にシェア
Digg にシェア
reddit にシェア
LinkedIn にシェア
LINEで送る
email this
Pocket

1,272 views.



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です