Ian*_*oyd 3 user-controls winforms
不允许用户TextBox垂直调整控件的大小.a的高度TextBox被锁定到文本框应该是理想的高度.
更重要的是,Visual Studio甚至不提供垂直拖动句柄:

我如何为我提供相同的机制UserControl?
我将详细阐述汉斯的评论.您可以将专用代码(称为Designer)与UserControl相关联,以便在将其放置在Visual Studio中的表单上时,用户在配置控件的方式上受到限制.
System.Design在项目中添加引用.
使用以下示例代码:
[Designer(typeof(FixedHeightUserControlDesigner))]
public partial class FixedHeightUserControl : UserControl
{
private const int FIXED_HEIGHT = 25;
protected override void OnSizeChanged(EventArgs e)
{
if (this.Size.Height != FIXED_HEIGHT)
this.Size = new Size(this.Size.Width, FIXED_HEIGHT);
base.OnSizeChanged(e);
}
public FixedHeightUserControl()
{
InitializeComponent();
this.Height = FIXED_HEIGHT;
}
}
public class FixedHeightUserControlDesigner : ParentControlDesigner
{
private static string[] _propsToRemove = new string[] { "Height", "Size" };
public override SelectionRules SelectionRules
{
get { return SelectionRules.LeftSizeable | SelectionRules.RightSizeable | SelectionRules.Moveable; }
}
protected override void PreFilterProperties(System.Collections.IDictionary properties)
{
base.PreFilterProperties(properties);
foreach (string p in _propsToRemove)
if (properties.Contains(p))
properties.Remove(p);
}
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1939 次 |
| 最近记录: |