Максимизируйте окно программным способом и не позволяйте пользователю изменять состояние окна

Вы можете использовать Capture для захвата любого пути. Однако ему должно предшествовать : симв. Так, например,

type AppRoute = Capture "routePath" String :> Get '[HTML] RawHtml

type ServerAPI =
    Get '[HTML] RawHtml
    :<|> UserAPI
    :<|> AdminAPI
    :<|> AppRoute

Теперь AppRoute сработает на yourserver.com/:thisIsMyPath/ и передаст "thisIsMyPath" в качестве аргумента для конечной точки. В настоящее время я не знаю, как это обойти :. Предполагая, что html является конечной точкой, которая в данный момент не зависит от заданного пути, вы можете определить весь свой сервер как

server :: Server ServerAPI
server = html
  :<|> userServer
  :<|> adminServer
  :<|> const html

. Вы можете прочитать об этом здесь . 1114]


Кстати, почему бы не использовать псевдоним type вместо того, чтобы брать семейства типа tanky? В моих приложениях Servant я обычно делаю

type AppRoute (x :: Symbol) = x :> Get '[HTML] RawHtml

, что прекрасно работает.

17
задан Peter Mortensen 13 December 2011 в 15:38
поделиться

5 ответов

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

        public partial class Testscherm : Form
    {
            public Testscherm()

            {

                    this.WindowState = FormWindowState.Maximized;
                    this.MaximizeBox = false;
                    this.MinimizeBox = false;
                    this.MinimumSize = this.Size;
                    this.MaximumSize = this.Size;
                    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
                    InitializeComponent();


            }
0
ответ дан 30 November 2019 в 11:17
поделиться

Когда ваша форма развернута, установите ее минимальный размер = максимальный размер, чтобы пользователь не мог изменить ее размер.

    this.WindowState = FormWindowState.Maximized;
    this.MinimumSize = this.Size;
    this.MaximumSize = this.Size;
34
ответ дан 30 November 2019 в 11:17
поделиться

Вы были близки ... после вашего кода

WindowState = FormWindowState.Maximized;

ЗАТЕМ установите минимальную / максимальную емкость формы на значение после того, как ее размер уменьшился.

MinimumSize = this.Size;
MaximumSize = this.Size;
7
ответ дан 30 November 2019 в 11:17
поделиться

Чтобы предотвратить изменение размера окна после его максимального увеличения, необходимо изменить FormBorderStyle с Sizable на одну из фиксированных констант:

FixedSingle
Fixed3D
FixedDialog

Из Страница MSDN Раздел примечаний:

Стиль границы формы определяет, как выглядит внешний край формы. Помимо изменения отображения границы для формы, определенные стили границы предотвращают изменение размера формы. Например, стиль границы FormBorderStyle.FixedDialog изменяет границу формы на границу диалогового окна и предотвращает изменение размера формы. Стиль границы также может влиять на размер или доступность раздела строки заголовка формы.

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

3
ответ дан 30 November 2019 в 11:17
поделиться

Чтобы программно максимизировать состояние окна, вы можете использовать:

 this.WindowState = FormWindowState.Maximized;
 this.MaximizeBox = false;
-2
ответ дан 30 November 2019 в 11:17
поделиться
Другие вопросы по тегам:

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