Вы можете использовать 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
, что прекрасно работает.
Когда я делаю это, я получаю экран очень небольшого квадрата вместо экрана 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();
}
Когда ваша форма развернута, установите ее минимальный размер = максимальный размер, чтобы пользователь не мог изменить ее размер.
this.WindowState = FormWindowState.Maximized;
this.MinimumSize = this.Size;
this.MaximumSize = this.Size;
Вы были близки ... после вашего кода
WindowState = FormWindowState.Maximized;
ЗАТЕМ установите минимальную / максимальную емкость формы на значение после того, как ее размер уменьшился.
MinimumSize = this.Size;
MaximumSize = this.Size;
Чтобы предотвратить изменение размера окна после его максимального увеличения, необходимо изменить FormBorderStyle
с Sizable
на одну из фиксированных констант:
FixedSingle
Fixed3D
FixedDialog
Из Страница MSDN Раздел примечаний:
Стиль границы формы определяет, как выглядит внешний край формы. Помимо изменения отображения границы для формы, определенные стили границы предотвращают изменение размера формы. Например, стиль границы FormBorderStyle.FixedDialog изменяет границу формы на границу диалогового окна и предотвращает изменение размера формы. Стиль границы также может влиять на размер или доступность раздела строки заголовка формы.
Это изменит внешний вид формы, если вы выберете, например, Fixed3D
, и вам, вероятно, придется поработать, если вы хотите, чтобы форма восстановилась до не развернутого размера и снова изменила размер.
Чтобы программно максимизировать состояние окна, вы можете использовать:
this.WindowState = FormWindowState.Maximized;
this.MaximizeBox = false;