Разные экраны для разных пользователей

Я пишу приложение и пытаюсь найти способ иметь несколько экранов для разных пользователей.

Один пользователь будет видеть и управлять экраном управления, а другой будет видеть вывод. До сих пор я использовал клонированные экраны, чтобы оба пользователя могли видеть экран управления.

Выход в основном будет подключен к проектору.

Есть идеи?


person Ashley Staggs    schedule 18.02.2012    source источник
comment
Вы можете использовать 2 разных приложения (одно для управления, другое для отображения) и использовать различные обмены сообщениями между ними (TcpClient, UdpClient, WCF и т. д.). Как правило, когда приложение попадает сюда, оно, по крайней мере, было предпринято. Что вы пробовали?   -  person M.Babcock    schedule 19.02.2012
comment
оба будут отображаться с одного ноутбука, так что это не сработает для меня.   -  person Ashley Staggs    schedule 19.02.2012
comment
Не могли бы вы уточнить? Два пользователя, один из которых работает с экраном управления, а другой просматривает экран вывода, в то время как все происходит на одном ноутбуке, немного сбивает с толку.   -  person AVIDeveloper    schedule 19.02.2012
comment
Используйте класс Screens для перечисления мониторов и их рабочих областей.   -  person Hans Passant    schedule 19.02.2012
comment
@AVIDeveloper Основное приложение будет контролировать то, что отображается на другом мониторе. Монитор подключен к ноутбуку через кабель VGA, поэтому мы используем клонированный дисплей, который показывает ту же информацию. Я хочу, чтобы на мониторе отображалась вторая форма, которая просто показывает вывод.   -  person Ashley Staggs    schedule 19.02.2012


Ответы (1)


Вместо клонирования экрана расширьте рабочий стол, чтобы можно было перетаскивать окна с экрана ноутбука на проектор.

Затем вы создаете два окна — контроллер на ноутбуке и дисплей на проекторе.

Если вы хотите отобразить окно дисплея, вы можете сделать следующее:

private void showDisplay()
{
    DisplayWindow dw = new DisplayWindow();
    // set dw properties if needed and make window visible

    // This is the part you are interested in
    int x = Screen.Bounds.X; // x-resolution (width) of the controller screen
    int y = 0; // top of the screen
    dw.Location = new Point(x, y); // Reposition the display window on the projector
}

Этот код сделает окно дисплея, которое вы хотите видеть в проекторе, видимым только в проекторе, а контроллер будет на ноутбуке.

person ose    schedule 19.02.2012