有没有办法创建一个控制设计器,只允许对接到左侧和右侧?而不是顶部,底部,填充等...谢谢。
答案 0 :(得分:1)
更改控件设计器需要一个新的控件类,以便您可以应用[Designer]属性。一旦你去那里,便宜的解决方案是在Dock属性的覆盖中否决选择:
using System;
using System.Windows.Forms;
class MyControl : Control {
public override DockStyle Dock {
get { return base.Dock; }
set {
if (value != DockStyle.None && value != (DockStyle.Left | DockStyle.Right))
throw new ArgumentException("Ony None or Left+Right allowed");
base.Dock = value;
}
}
}
如果那太粗糙,你可以写一个UITypeEditor,这样只能选择允许的dock样式,并用[Editor]属性将它应用到重写的Dock属性。