none
多螢幕控制 RRS feed

  • 問題

  • 請問多螢幕的程式如何寫?
    論壇上我找不到相關的資料!
    例如:
    定位或是在哪個螢幕顯示哪個視窗?
    畫面延展....之類的,
    不知有哪些技巧可以使用?

    2009年6月22日 上午 12:44

解答

所有回覆

  • 多螢幕其實就是把單螢幕延伸,大部分的情況下是橫的
    也就是: 螢幕一 螢幕二 螢幕三........螢幕 n

    假設所有螢幕的解析度都為 1024 x 768 (不同螢幕的解析度可以不相同)
    要把視窗移動到第二個螢幕就要把 location 的 x 位置設定為 1025 ~ 2048 之間

    以上是正常的情況,因為我有遇過螢幕是設定成 2x2 (四個螢幕合成一個)
    那個的延伸方式又不太一樣,可能要實際測試才會曉得
    2009年6月22日 上午 01:31
  • 參考
    在雙螢幕系統中如何指定WinForm在指定的螢幕出現
    http://blog.blueshop.com.tw/timothychi/archive/2006/01/13/16289.aspx
    2009年6月22日 上午 01:46
    版主
  • 感謝坎尼跟小歐的回答~~
    你們的答案可以解決我大半的問題~~
    但我剛寫一段程式測試過後發現一個問題
    如果以雙螢幕來講~
    就是主畫面在左邊或是右邊無法判斷的話~
    那就不知道要把座標遞增還是遞減!
    相對如果坎尼說的2X2的螢幕,
    主畫面在哪台螢幕不知道的話也無法做定位,
    這問題不知道有沒辦法克服?
    2009年6月22日 上午 03:54
    • 已標示為解答 悪魔 2009年6月22日 上午 07:42
    2009年6月22日 上午 04:01
    版主
  • 我補充一下 2x2 時,螢幕排列的方式吧 (當然電腦要支援4組輸出才行)

    1.假設四個螢幕解析度為 1024 x 768 (一般來講會設一樣啦,除非想讓顯示器出現怪怪的畫面)
    2.螢幕會自動排列,但實際上仍然會是橫向延伸 (如下圖)

    [螢幕一]  [螢幕二]
    [螢幕三]  [螢幕四]

    所以要把視窗定位到 "螢幕三",並不是增加 y 的值
    而是將 x 值設定於 2049 ~ 3072 之間

    以上是我之前遇到的狀況,螢幕的排列方式可能會依機器及螢幕控制軟體不同而異,提供給你當作參考

    2009年6月22日 上午 04:47
  • 依小歐的講解已經知道怎樣分左右螢幕~
    然後把FORM放上去了的方式了~~
    2X2螢幕的話~
    也把各螢幕座標抓出來後就可以放置Form~

    如果遇到不對稱的螢幕位置來講:
    PC1
     M1(0,0)     M2(1024,0)
                     M3(1024,768)

    PC2
     M2(0,0)     M1(1024,0)
     M3(0,768)

    本來M3要定位在(1024,768),結果PC2的M3的座標是(0,768)!
    會造成另一個FORM不見!
    不過雙螢幕的話是沒差啦!
    2009年6月22日 上午 07:41