Intereting Posts
Создание экземпляра COM-компонента завершается неудачей с «Класс не зарегистрирован», когда «Запуск от имени администратора» HTML Sanitizer для .NET, поддерживающий tags стиля Лучший способ сделать сайт для нескольких языков Каков наилучший способ чтения в текстовом файле с сервера в asp.net-mvc используя глобальное исключение Handels messes up DelegatingHandler Переполнение стека в C # Эта операция создаст неверно структурированный документ Что такое метаданные в .NET? Передайте массив javascript на C # через json Неполный атрибут XML Может ли Task MaxDegreeOfParallelism каждый раз принимать первый n-объект из моего списка? Является ли новая функция C # 4.0 – «Необязательные параметры» CLS-совместимым? Как открыть окно в отдельном streamе? Аутентификация членов веб-сайта в качестве пользователей в CKFinder v3 Можете ли вы добавить методы расширения, которые вы называете статическими методами?

Планы док-станций, якорей и жидкостей в приложениях Windows Forms

Итак, меня попросили переделать старое приложение, которое я написал несколько лет назад.

В принципе, ничего не нужно менять, за исключением того, что Клиент хочет, чтобы он был более жидким, и что он должен быть полноэкранным (без видимого «windows»). Т.е. нет заголовка, просто полноэкранного windows без полей.

Каков наилучший способ убедиться, что все остается текучим, я имею в виду, как мы можем убедиться, что все появляется там, где оно должно, потому что вы знаете, разные разрешения, размеры монитора и т. Д.?

Это легко на веб-страницах / css, но это уже не то, что я делал раньше. Большинство элементов управления будут создаваться программно во время выполнения, на основе того, какое действие было выполнено, и т. Д. Как мне выполнить такой макет? В принципе, я хочу, чтобы все это можно было выложить на весь экран, не зная, насколько велика их монитор, или какое разрешение они используют.

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

    1, TableLayoutPanel разделит область на ряд строк и столбцов и позволит вам расположить дочерние элементы управления в отдельных ячейках этого макета таблицы. Это реагирует на изменение ширины и высоты формы.

    2, FlowLayoutPanel поместит ваши дочерние элементы управления слева направо и автоматически переместится в новую строку, когда у вас закончится свободное пространство. Это отлично подходит для жидкостного дизайна, поскольку он будет регулировать компоновку в зависимости от доступного пространства.

    3, свойство Control.Anchor позволяет дочернему элементу управления изменять положение и размер в зависимости от размера клиентской области формы. Таким образом, вы делаете свой контроль всегда фиксированным смещением от правого или нижнего края.

    4, свойство Control.Dock будет устанавливать дочерний элемент управления на край, а противоположный размер будет автоматически определяться с помощью содержащейся формы.

    Вы можете поместить свои элементы управления в tableLayout и установить свойство Dock для заполнения.