- - PR -
マルチモニター使用について
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-30 18:57
初めて質問させて頂きます。宜しくお願いいたします。
現在、マルチモニターを使用して2画面で別々のフォームを表示させようとしているのですが、マウスで移動せずにコードでこのフォームはセカンダリモニターに表示させるという様な指定は可能なのでしょうか? 開発環境:VS2003 .NET 使用言語:VB [ メッセージ編集済み 編集者: koujin 編集日時 2006-11-30 19:00 ] | ||||||||||||
|
投稿日時: 2006-11-30 19:22
可能です。GetMonitorInfo APIなどでセカンダリモニターの座標を取得し、その場所にウィンドウを表示するだけです。 | ||||||||||||
|
投稿日時: 2006-11-30 19:30
早速ご回答ありがとうございます。
GetMonitorInfo APIについて調べてみます。 ありがとうございました。 また宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2006-11-30 22:46
Screen クラスの AllScreens プロパティで全てのディスプレイの情報を取得出来ます。
その中からプライマリ画面でないものを見つけてそのディスプレイの範囲を取得すれば、セカンダリ画面に表示することが出来ると思います。 | ||||||||||||
|
投稿日時: 2006-12-02 13:01
ダッチさんご回答ありがとうございます。
実は開発環境がマルチモニターでは無い為、実際動作確認することができないのですが、単純にセカンダリモニターを指定してフォームを表示させる事は可能なのでしょうか? またご回答頂いた内容の『ScreenクラスのAllScreensで取得される情報』はプライマリ&セカンダリモニター全ての画面サイズであり、そのさい左側のモニターがセカンダリとなっていれば Me.Left = 0 Me.Top = 0 と指定すれば左側のセカンダリモニターにそのフォームが表示されるという事であっておりますでしょうか? ご回答宜しくお願いいたします。 | ||||||||||||
|
投稿日時: 2006-12-02 20:27
ごめんなさい。私の環境もマルチモニタ接続が出来ませんので確実なことはいえません。 しかし、セカンダリモニタを指定してというよりは、セカンダリモニタの領域のある座標をフォームの表示位置に設定させることによって、セカンダリモニタにフォームが表示されると思います。
そうなると思います。 座標の基本は左上を原点として右下に値が増えていきますからね。 推測ばかりで申し訳ないのですが、セカンダリモニタに表示される例として Screen.AllScreens の0番目がプライマリ、1番目にセカンダリが接続されているとします。 セカンダリモニタの左上にフォームを表示したい場合は、 このようなコードで表示されると思います。
|
1