Csharp/C#教程:缩放窗口窗体分享


缩放窗口窗体

可以根据窗口大小准备窗体窗口窗口来调整所有元素的大小/重新定位,但我正在尝试做一些不同的事情。

是否有可能以某种方式实际缩放窗口以及内部的所有元素,而不管它们的位置,属性等?

基本上你在某些图形编辑器中缩放图片的方式 – 你可以拉伸或缩小它,但是这张图片上的内容并不重要。

那么,是否有可能与表格做类似的事情? 无论表格内部是什么,都可以扩展其大小。

Windows窗体不提供任何function来执行此操作。 但是,您可以编写自己的代码并使表单解析独立。

这不是一个让窗体独立于分辨率的完整示例,但是,您可以从这里获得逻辑。 当您快速调整窗口大小时,以下代码会产生问题。

码:

private Size oldSize; private void Form1_Load(System.Object sender, System.EventArgs e) { oldSize = base.Size; } protected override void OnResize(System.EventArgs e) { base.OnResize(e); foreach (Control cnt in this.Controls) { ResizeAll(cnt, base.Size); } oldSize = base.Size; } private void ResizeAll(Control cnt, Size newSize) { int iWidth = newSize.Width - oldSize.Width; cnt.Left += (cnt.Left * iWidth) / oldSize.Width; cnt.Width += (cnt.Width * iWidth) / oldSize.Width; int iHeight = newSize.Height - oldSize.Height; cnt.Top += (cnt.Top * iHeight) / oldSize.Height; cnt.Height += (cnt.Height * iHeight) / oldSize.Height; } 

否则,您可以使用任何第三方控件,如DevExpress Tool。 LayoutControl提供相同的设施。 您可以在运行时显示和隐藏任何控件而不留空格。

查看自.NET 2.0以来可用的Control.Scale方法。

上述就是C#学习教程:缩放窗口窗体分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/950834.html

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐