我写了个小程序玩 是一台主机连3个显示器 就是3个显卡 主机和我的程序只有一个, 我现在想要实现我的程序运行显示器1 显示From1 显示器2 显示From2 显示器3 显示From3 我该怎么去实现这个效果 我的每个From中播放的是不同的视频 3个显示器摆在一起刚好组成一个小舞台剧 这个该怎么办啊

解决方案 »

  1.   

    一个主机,多台显示器,本来就可以同时打开多个From,而且是相同的。因为From的exe程序安装在同一台主机。
      

  2.   

    这个应该不用改程序,主程序打开3个FROM,至于位置让使用者拖就可以了
      

  3.   

    1、检测显示器个数
    2、设置多显示方式为扩展方式
    3、在指定的显示器显示指定的窗口。
    你找找有没有这方面的api,没有的话就鼠标拖去吧
      

  4.   


    private void openForms()
    {
       Form2 form2 = new Form2();
       Form3 form3 = new Form3();
       Form4 form4 = new Form4();
     
       Screen[] screens = Screens.AllScreens;
       if(screens.Length == 2)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[0].WorkingArea.Location;
          form4.Location = lstScreen[0].WorkingArea.Location;
       }
       else if(screens.Length == 4)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;
       }
    }
      

  5.   


    private void openForms()
    {
       Form2 form2 = new Form2();
       Form3 form3 = new Form3();
       Form4 form4 = new Form4();
     
       Screen[] screens = Screens.AllScreens;
       if(screens.Length == 2)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[0].WorkingArea.Location;
          form4.Location = lstScreen[0].WorkingArea.Location;
       }
       else if(screens.Length == 4)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;
       }
    }
    看的不是很懂啊    哪个IF==2   和if==4   时  里面表示的都是什么意思啊
      

  6.   


    private void openForms()
    {
       Form2 form2 = new Form2();
       Form3 form3 = new Form3();
       Form4 form4 = new Form4();
     
       Screen[] screens = Screens.AllScreens;
       if(screens.Length == 2)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[0].WorkingArea.Location;
          form4.Location = lstScreen[0].WorkingArea.Location;
       }
       else if(screens.Length == 4)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;
       }
    }
    看的不是很懂啊    哪个IF==2   和if==4   时  里面表示的都是什么意思啊主要是让你了解这个
     List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;不用管if 2 与4
      

  7.   


    private void openForms()
    {
       Form2 form2 = new Form2();
       Form3 form3 = new Form3();
       Form4 form4 = new Form4();
     
       Screen[] screens = Screens.AllScreens;
       if(screens.Length == 2)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[0].WorkingArea.Location;
          form4.Location = lstScreen[0].WorkingArea.Location;
       }
       else if(screens.Length == 4)
       {
          List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;
       }
    }
    看的不是很懂啊    哪个IF==2   和if==4   时  里面表示的都是什么意思啊主要是让你了解这个
     List<Screen> lstScreen = new List<Screen>();
          foreach(Screen screen in Screen.AllScreens)
          {
             if(screen.Primary == false)
                lstScree.Add(screen);
          }
          form2.Location = lstScreen[0].WorkingArea.Location;
          form3.Location = lstScreen[1].WorkingArea.Location;
          form4.Location = lstScreen[2].WorkingArea.Location;不用管if 2 与4
    那我就是直接在from1_load里调他就可以了是吗?
     private void Form1_Load(object sender, EventArgs e)
            {
                this.openForms();
                from2.ShowDialog();
                from3.ShowDialog();
                from4.ShowDialog();
            }
      

  8.   

    先获取屏幕分辨率,然后把Form1的location设置为(0,0),from2设置(1*screen,0),form3设置(2*screen,0)
      

  9.   

    是不是我考虑的太复杂了  所有的屏幕分辨率都是1024x768 我是不是直接可以在from的属性里设置location  from1不变  from2是(1024.0)  from3(2048.0)   不需要用代码写