Delphi中如何固定窗口大小

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi中如何固定窗口大小相关的知识,希望对你有一定的参考价值。

Delphi中如何固定窗口大小Delphi中如何固定窗口大小,使使用者无法改变

参考技术A 在 FormResize 设好你的窗口大小 参考技术B form的canresize事件

如何为通用 Windows 应用程序设置固定窗口大小

【中文标题】如何为通用 Windows 应用程序设置固定窗口大小【英文标题】:How to set fixed window size for Universal Windows Application 【发布时间】:2016-07-04 02:15:19 【问题描述】:

我刚开始在 VS2015 社区版中开发通用 Windows 应用程序。我使用了名为 PieCharts for Windows UWP 的示例。

我的问题是我想将窗口大小固定为 400x650,就像我在旧桌面应用程序中所做的那样。我手动设置了宽度和高度它不起作用。我的 MainPage.xaml 类似于以下代码。

<Page x:Class="MyFistUWP.MainPage"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:local="using:MyFistUWP"
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  MaxHeight="650" MinHeight="650" MaxWidth="400" MinWidth="400" Height="650" Width="400" >

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="140" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>

    <Image Grid.Row="0" Source="Resources/my_logo.png" />
</Grid>

窗口大小错误,我可以调整窗口大小。

谢谢,

【问题讨论】:

请记住,UWP 应用程序可以在具有不同屏幕方向和大小的设备上运行,并且并非所有 UWP 平台都支持应用程序窗口化(例如电话) 【参考方案1】:

您可以使用此代码设置应用程序的最小大小: ApplicationView.GetForCurrentView().SetPreferredMinSize(new Size(400, 650));

【讨论】:

是的,我在 MainPage 构造函数中有该代码。它工作正常,但我仍然可以将窗口大小调整为 400x650 以上。 很遗憾,您无法为 UWP 应用程序设置最大大小【参考方案2】:

我找到了解决方案。我认为它不是最好的,但它确实有效。 XAML:

     <Grid Background="#4A9130" SizeChanged="FormName_SizeChanged">

c#

    private void FormName_SizeChanged(object sender, SizeChangedEventArgs e)
    

        ApplicationView.GetForCurrentView().TryResizeView(new Size(900, 600));
    

希望对你有帮助

【讨论】:

【参考方案3】:

我想唯一的选择是使用 OnSizeChanged 方法来控制窗口的大小。这是我的工作。也许不是最好的选择,但解决问题的方法很简单。

private void FormName_SizeChanged(object sender, SizeChangedEventArgs e)

    if((this.Width != 400) & (this.Height != 650))
    
        this.Width = 450;
        this.Height = 650;
    

【讨论】:

如果你这样做了,你还不会看到最大化按钮和调整大小的箭头吗? 当然...这是一个大问题。但是这段代码将窗口重置为想要的大小。不得不说,以这种方式解决问题并不美观,但它确实有效......不知何故。 平板模式呢?

以上是关于Delphi中如何固定窗口大小的主要内容,如果未能解决你的问题,请参考以下文章

delphi中如何编程获取其它程序窗口的大小?

delphi 中运行后窗口会被人为的拉大或者缩小,问题是,如何获取变化后的窗口大小的值?

delphi 怎么控制窗口大小

delphi 怎么控制窗口大小

如何使用 HREF 标签打开一个固定大小的弹出窗口?

kmplayer播放器,如何调整窗口大小