Tag: window resize

如何调整C#WPF程序的大小以适应任何屏幕分辨率

我试图找出如何调整我的C#WPF程序的大小,以基本适合任何屏幕分辨率。 我正在尝试将我的程序安装到屏幕分辨率为1280 x 1024的计算机上。 我找不到任何关于如何准确执行此操作的信息,当然我可以根据特定的屏幕来安装程序的尺寸,但每台计算机的屏幕分辨率可能会有所不同吗? 我尝试使用此处提供的显而易见的解决方案: 根据屏幕分辨率调整WPF窗口和内容的大小,但它根本没有帮助。 即我用过:(另外,我不确定是否需要将HorizontalAlignment和VerticalAlignment设置为“拉伸”,但我还是做了。) Title=”my screen” Height=”{Binding SystemParameters.PrimaryScreenHeight}” Width=”{Binding SystemParameters.PrimaryScreenWidth}” WindowStartupLocation=”CenterScreen” WindowState=”Maximized”> … 每当我在尺寸为1280 x 1024的计算机上运行我的exe时,它会切断我网格中的内容。 任何建议或帮助都会很棒,甚至链接到示例都会很棒。 提前致谢。

WPF无边框窗口resize

我在WPF中设计自己的自定义窗口,我一直在尝试实现我之前在WinForms中使用的resizefunction。 由于某种原因,我的WndProc的返回值没有给我正确的结果。 我有一个NativeMethods类用于我的所有WndProc消息和结果: public class NativeMethods { public const int WM_NCHITTEST = 0x84; public const int HTCAPTION = 2; public const int HTLEFT = 10; public const int HTRIGHT = 11; public const int HTTOP = 12; public const int HTTOPLEFT = 13; public const int HTTOPRIGHT = 14; public const int HTBOTTOM = 15; […]

如何使用窗体边框上的控件调整无边框窗体大小?

我有一个无边框的winForm,我需要resize,我设法这样做: protected override void WndProc(ref Message m) { const int wmNcHitTest = 0x84; const int htLeft = 10; const int htRight = 11; const int htTop = 12; const int htTopLeft = 13; const int htTopRight = 14; const int htBottom = 15; const int htBottomLeft = 16; const int htBottomRight = 17; if (m.Msg […]

自由resize处理无边框格式C#

我正在尝试制作从工具栏中弹出的无边框表单。 我希望用户能够抓住右下角(“resize句柄”)并能够调整表单大小,但无法以任何其他方式调整表单大小或重新定位。 我听说我可以拦截发送到表单的WM_NCHITTEST消息并将其结果设置为HTBOTTOMRIGHT ,这将让操作系统处理表单的重新resize,就像它有一个相当大的帧一样。 我的想法是检测鼠标指针是否已进入我在角落中定义的框,如果它已经,则返回HTBOTTOMRIGHT结果。 这并不像我预期的那样有效。 我能够拦截消息,但似乎只有当用户将鼠标光标放在窗体的1px粗边框上时才会发送消息。 这意味着它可以按照我想要的方式工作,如果你非常精确地将光标定位在右下角。 这是我的WndProc覆盖: protected override void WndProc(ref Message m) { const UInt32 WM_NCHITTEST = 0x0084; const UInt32 HTBOTTOMRIGHT = 17; const int RESIZE_HANDLE_SIZE = 40; bool handled = false; if (m.Msg == WM_NCHITTEST) { Size formSize = this.Size; Point screenPoint = new Point(m.LParam.ToInt32()); Point clientPoint = this.PointToClient(screenPoint); Rectangle hitBox […]