Делать элементы управления полноэкранными - PullRequest
0 голосов
/ 05 января 2012

Можно ли сделать элемент управления (в Windows Forms) полноэкранным?Могу ли я сделать это с P / Invoke?Я подумал, что решение может быть запущено через все элементы управления в форме, затем убедиться, что это тип моего элемента управления, установив местоположение на 0,0, поместив его сверху, изменив размеры элемента управления, чтобы соответствовать формеа затем изменив форму, чтобы она заполнила экран.Я бы предпочел сделать это по-другому, потому что этот метод не кажется надежным.Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 05 января 2012

Учитывая, что вы тоже хотите скрыть SysTray, есть решение, которое я знаю и использовало много лет назад при написании приложений POS. Вы могли бы сделать что-то вроде этого:

private const int SW_HIDE = 0;
private const int SW_SHOW = 1;

[DllImport("user32.dll")]
private static extern int FindWindow(string className, string windowText);
[DllImport("user32.dll")]
private static extern int ShowWindow(int hwnd, int command);

int hWnd = FindWindow("Shell_TrayWnd", "");
ShowWindow(hWnd, SW_HIDE);

Таким образом, systray будет скрыт.

Здесь хорошая статья по теме.

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

  • Работает ли он в Windows 7?
  • Работает ли он на 64-битных версиях Windows (см. [DllImport("user32.dll")])?

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

3 голосов
/ 05 января 2012

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

        control.Dock = DockStyle.Fill;
        this.WindowState = FormWindowState.Maximized;
...