C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: モニタ−3つ


(過去ログ 174 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■99962 / inTopicNo.1)  モニタ−3つ
  
□投稿者/ たかし (4回)-(2022/06/25(Sat) 06:11:33)

分類:[設計/仕様] 

お願いします

1つのPCでモニターを3つ繋げて表示させたいのですが
C#でプログラムを作るとき
このイベントが発生した時はAのモニターに画像を表示、この時はBのモニターに画像を表示と
言うふうに分けて表示ができるものでしょうか
宜しくお願い致します
引用返信 編集キー/
■99965 / inTopicNo.2)  Re[1]: モニタ−3つ
□投稿者/ 魔界の仮面弁士 (3413回)-(2022/06/25(Sat) 15:09:24)
掲示板への新規投稿時の注意事項に、
『半角カナは使用しないでください。文字化けの原因になります。』
と書いてあったかと思います。次回以降ご留意ください。


■No99962 (たかし さん) に返信
> この時はBのモニターに画像を表示と
Web アプリだと無理だと思いますが、デスクトップアプリであるならば、
そのためのコードを用意すれば可能でしょう。

単純に B のモニター位置に WinForms のフォームや WPF の Window を置けばよいですし、
あるいは複数画面にまたがる巨大なウィンドウを配置している状況なのであれば、
そのモニター位置に画像を描画するためのコントロールを配置すればよいわけで。


> 言うふうに分けて表示ができるものでしょうか
Screen.AllScreens プロパティを使えば、それぞれのディスプレイを列挙できます。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.screen.allscreens
各画面の座標情報は、Bounds プロパティから得られます。

たとえば、こういった変則的な配置の場合でも OK です。

┏━━┯━━━┯┓
┠──┤横長の│┃
┃画縦│画面0│┃
┃面長├┬──┴┨
┃1の││横長の┃
┠──┘│画面2┃
┗━━━┷━━━┛

太線枠(マルチモニターの全領域のサイズ)は、SystemParameters クラスの
VirtualScreenWidth/VirtualScreenHeight プロパティから得られますし、
細線枠(各画面の配置エリア)は、各 Screen の Bounds プロパティから得られます。

このケースでいえば、Bounds プロパティが返す値とは
画面0が主モニターの場合、画面1の Left はマイナス座標になりますし、
画面1が主モニターの場合、画面0の Top がマイナス座標になるわけです。

画面の座標さえわかれば、あとは、目的の「画像」をそれぞれの座標に配置するためのコードを書くだけです。

ただし、列挙された Screen のうちのどれが「B のモニター」に当たるのかについては
各 Screen の DeviceName なり Bounds なりで判断することになりますので、
判定基準についてはあらかじめ、アプリケーションの仕様として定義しておかないと作れないでしょう。


ちなみにその逆に……座標値を指定して、その座標を含む画面を得たい場合には
Screen.FromPoint メソッドを使えば OK です。

また、現在表示されているフォームあるいはコントロールがどの画面上に
存在しているかを調べるために、Screen.FromControl メソッドを使うこともできます。
(複数画面にまたがって配置されていた場合は、より広い方を返します)

引用返信 編集キー/
■99966 / inTopicNo.3)  Re[2]: モニタ−3つ
□投稿者/ たかし (5回)-(2022/06/25(Sat) 21:22:06)
No99965 (魔界の仮面弁士 さん) に返信
>
ありがとうございます
カナは注意させて頂きます

勉強させて頂きます
ありがとうございました
解決済み
引用返信 編集キー/
■100036 / inTopicNo.4)  Re[3]: モニタ−3つ
□投稿者/ 独学者 (3回)-(2022/06/30(Thu) 00:36:01)
モニターを取り扱う場合
デバイス側への配慮がとてもとても必要になります

現在のモニター状況の場合にだけ配慮すればよければ話はカンタンですが
つないでいるモニターの数は千差万別

また、モニターの追加にウインドウズのデバイス認識がついていけてない状況もあると思います

一般的なユーザーは相手にできるかもしれませんが
ありったけモニターを増やすのは世界の潮流ですので
BIOSなのかウインドウズなのかわかりませんが
ある程度のイレギュラーな動作を想定しなければならないということを
受け入れなければならないです


ノートパソコン + 2モニターの環境で
正常動作しておらず、3 のときもあれば 2のときもある
不安定な状況で仕事をしている
素人の発言です








引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -