c# – 如何在WinForm的控件设计器中使用鼠标按比例调整控件的大
发布时间:2020-12-15 22:07:51 所属栏目:百科 来源:网络整理
导读:我试图用鼠标调整控件的大小,按住左键Shift,希望宽度和高度都按比例调整(如在Photoshop中).没工作. 我用Google搜索了解如何做到这一点,确定我在一分钟内得到答案.令我惊讶的是我找不到任何东西. 我必须明白Visual Studio,即使是2013版本,也缺乏这个非常基本
我试图用鼠标调整控件的大小,按住左键Shift,希望宽度和高度都按比例调整(如在Photoshop中).没工作.
我用Google搜索了解如何做到这一点,确定我在一分钟内得到答案.令我惊讶的是我找不到任何东西. 我必须明白Visual Studio,即使是2013版本,也缺乏这个非常基本的设计功能吗?!或者我只是一直想念它? 请注意,这不仅适用于特定控件;它是一个设计工具,我想用于任何可以在表单/用户控件上“绘制”的东西. 解决方法
您可以随时扩展您想要保持的比例:
public class Panelx : Panel { private int _width; private int _height; private double _proportion; private bool _changingSize; [DefaultValue(false)] public bool MaintainRatio { get; set; } public Panelx() { MaintainRatio = false; _width = this.Width; _height = this.Height; _proportion = (double)_height / (double)_width; _changingSize = false; } protected override void OnResize(EventArgs eventargs) { if (MaintainRatio == true) { if (_changingSize == false) { _changingSize = true; try { if (this.Width != _width) { this.Height = (int)(this.Width * _proportion); _width = this.Width; }; if (this.Height != _height) { this.Width = (int)(this.Height / _proportion); _height = this.Height; }; } finally { _changingSize = false; } } } base.OnResize(eventargs); } } 然后,您需要做的就是将MaintainRatio属性设置为’true’以使其适当调整大小. 但是,如果您需要它来处理许多不同的控件,这个解决方案可能会非常艰巨. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在Xcode中构建Ruby项目?
- swift基础UI之 UITableView
- ORA-12162: TNS:net service name is incorrectly specifie
- 外部传参,关于ExternalInterface.addCallback的使用。
- Serialize and deserialize objects as Xml using generic
- 将C#散列函数转换为PHP
- 版本控制XML模式的最佳实践是什么?
- swift小数限制NumberFormatter
- Swift UITextField/UITextView(placeholder的制作)
- swift开发之将 protocol 的方法声明为 mutating