Моно полный экран приложения winforms в Ubuntu?

Просто удивление, если существует известный способ получить Моносистему. Windows. Приложение форм для движения полного экрана на Ubuntu/Gnome.

Моно 2.4.2.3 Ubuntu, 9.10

Выполнение его в Windows требует pinvoke, ясно не собираясь работать здесь.

Это - то, что я заставляю границу окна установки ни к одному, положение окна центрировать, и заявляю максимизируемому:

сопроводительный текст http://dl.dropbox.com/u/116092/misc/permalink/joggler/screenshot01.png

Обновление.

Также попробовали:

  • это. StartPosition = Система. Windows. Формы. FormStartPosition. CenterScreen;
    это. WindowState = Система. Windows. Формы. FormWindowState. Максимизируемый;

  • CTRL-F11

  • Текст = строка. Пустой;//Никакая подпись
    MaximizeBox = ложь;
    MinimizeBox = ложь;
    ControlBox = ложь;
    FormBorderStyle = ни один;
    WindowState = максимизируемый;

  • FormBorderStyle = FormBorderStyle. Ни один;
    Местоположение = новая Точка (0, 0);
    Размер = экран. PrimaryScreen. Границы. Размер;

Все из которых я заканчиваю с тем же результатом.

Я столкнулся с выводом, который включает pinvoke, включающий _NET_WM_STATE_FULLSCREEN, но это - насколько я имею с ним. Любые указатели на этом ценились бы.

10
задан tomfanning 22 June 2010 в 18:13
поделиться

8 ответов

_NET_WM_STATE_FULLSCREEN просто избавится от границ. Панель GNOME по-прежнему будет отображаться.

Согласно следующему сообщению, секрет заключается в том, чтобы избавиться от минимального / максимального размера, чтобы оконный менеджер сам изменял размер:

http://linux.derkeiler.com/Mailing-Lists/GNOME/ 2010-01 / msg00035.html

Вот некоторая документация по собственной спецификации:

http://standards.freedesktop.org/wm-spec/wm-spec-latest.html

http: // www.x.org/docs/ICCCM/icccm.pdf

Чтобы общаться напрямую с системой X Window, вам нужно закрепить в XLib. Чтобы отправить что-то вроде _NET_WM_STATE_FULLSCREEN, у вас должен быть указатель на окно, а также на дисплей.

Я не знаю, как найти дисплей, но могу помочь указателем на окно. При работе в X свойство Form.Handle должно быть указателем на окно X.

3
ответ дан 4 December 2019 в 02:49
поделиться

Вы пробовали это?

  this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;             
    this.WindowState = System.Windows.Forms.FormWindowState.Maximized;

К сожалению, сейчас у меня нет Ubuntu, но я вижу старые патчи для этого в старых моно-версиях ...

0
ответ дан 4 December 2019 в 02:49
поделиться

Я не могу сейчас проверить это, но пробовали ли вы простое изменение размера?

form.FormBorderStyle = FormBorderStyle.None
form.Location = Point(0, 0)
form.Size = Screen.PrimaryScreen.Bounds.Size
0
ответ дан 4 December 2019 в 02:49
поделиться

Должна быть возможность отображать каждое приложение, работающее внутри gnome, в полноэкранном режиме с помощью горячей клавиши «CTRL + F11».

Может быть, вы могли бы попробовать

System.Windows.Forms.SendKeys.Send();

, но это всего лишь предположение, у меня нет Linux с запущенным банкоматом, чтобы попробовать это. Но, возможно, это поможет.

0
ответ дан 4 December 2019 в 02:49
поделиться

Не понимаю, что вы имеете в виду под «полноэкранным режимом», но я написал несколько приложений Windows.Forms, которые занимают весь экран, и без единого PInvoke.

Вот как я настраиваю свою основную форму ...

Text = string.Empty; // No caption
MaximizeBox = false;
MinimizeBox = false;
ControlBox = false;
FormBorderStyle = None;
WindowState = Maximized;

Необязательно,

TopMost = true;

Надеюсь, это поможет.

2
ответ дан 4 December 2019 в 02:49
поделиться

На данный момент я работал над этим, установив свойство autohide панели.

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

0
ответ дан 4 December 2019 в 02:49
поделиться

Вам нужно отключить визуальные эффекты в ubuntu.

редактировать: И убедитесь, что размер вашей формы как минимум равен разрешению экрана без границ. Если границы находятся во время разработки и вы удаляете их в коде, вам понадобится что-то вроде 1030x796 для дисплея 1024x768.

1
ответ дан 4 December 2019 в 02:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: