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中如何固定窗口大小的主要内容,如果未能解决你的问题,请参考以下文章