C#让自定义控件只能调整宽度不能调整高度
来源:互联网 发布:淘宝聚划算报名 编辑:程序博客网 时间:2024/06/10 05:34
最近做一个项目需要用到自定义控件,主要控件是一个TextBox。做好以后,在界面上体验极差。因为没做控件大小的考虑,所以在界面上这个自定义控件可以随便更改其大小,导致文本框不能填充整个自定义控件的区域。在网上找了好多资料,有一个说直接重写控件的Size属性,我照着试了一下,完全不能满足我的要求。又找了好久,功夫不负有心人,终于找到我想要的东西。现在整理一下,分享给大家。
首先要添加引用System.Design。然后在文件头添加
using System.Windows.Forms.Design;
新建一个控件设计类
public class MyTextDesigner:System.Windows.Forms.Design.ControlDesigner { public MyTextDesigner() { } public override SelectionRules SelectionRules { get { SelectionRules rules = SelectionRules.Visible | SelectionRules.Moveable | SelectionRules.LeftSizeable | SelectionRules.RightSizeable; return rules; } } }将自定义控件与刚写的控件设计类联系起来
[Designer(typeof(MyTextDesigner))] public partial class UserText : UserControl { public UserText() { InitializeComponent(); }... }
这样也只是让界面编辑的时候不能更改控件大小,运行之后还是可以更改的。所以还需要在自定义控件中重写一个方法[Designer(typeof(MyTextDesigner))] public partial class UserText : UserControl { public UserText() { InitializeComponent(); } protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified) { base.SetBoundsCore(x, y, width, 26, specified); }... }其中的26即为你所要控制控件的固定高度。至此,这个自定义控件的高度就不能被更改了。
阅读全文
1 0
- C#让自定义控件只能调整宽度不能调整高度
- Axure RP Pro - Widget部件 - 水平线不能调整高度,垂直线不能调整宽度
- Excel VBA 调整图片高度宽度等于单元格高度宽度
- javascript 调整宽度和高度的div
- 根据屏幕的高度宽度,调整大小
- 重新调整布局的宽度和高度
- vim 调整窗口高度和宽度
- UILabel 文字自适应调整高度和宽度
- 动态调整UILabel的高度或宽度
- UILabel自动调整大小(高度,宽度)
- UILabel自动调整大小(高度,宽度)
- 让label自适应里面的文字,自动调整宽度和高度的
- 让label自适应里面的文字,自动调整宽度和高度。
- 让label自适应里面的文字,自动调整宽度和高度。
- ios 文字 控件 自适应 高度 宽度 CustomCell 自适应高度+uilabel自动换行+ UITextView 根据内容自动调整高度
- Word表格不能调整宽度的解决方法
- C#自定义控件设计模式尺寸限制调整
- 让UIWebView根据内容自动调整高度
- JS判断是移动端浏览器
- Android WebView加载时出现闪烁
- Hadoop集群配置之后浏览器无法访问问题
- Spring-Cloud系列第6篇:spring-cloud-bus
- PHP跳转页面的几种实现方法
- C#让自定义控件只能调整宽度不能调整高度
- 第一个javaee项目
- 子进程的异步等待方式
- WPF 之 实现TextBox输入文字后自动弹出数据(类似百度的输入框)
- ES6对象操作笔记
- 前端入门,大师姐来帮忙【过来人写给新手的前端入门建议】
- Linux应用编程之串口
- Windows下Redis 环境配置 集群配置
- Spring-Cloud系列第7篇:spring-cloud-zuul