如何限制在 C# 窗口控件中的面板中添加控件?我必须限制用户在设计时在面板中添加控件。
Lalit
问问题
364 次
2 回答
1
如果您想限制可以添加到面板的控件类型或控件数量,您可以创建自己的面板子类,并在 Controls.Add 方法的重载中检查控件类型或控件计数。
编辑:重载 Controls.Add 方法并不像我想象的那么容易,但是您可以创建一个扩展 Panel 类的新类并重写 OnControlAdded 方法以检查添加的控件类型。像这样的东西应该工作:
class MyPanel : Panel
{
public MyPanel()
{ }
protected override void OnControlAdded(ControlEventArgs e)
{
base.OnControlAdded(e);
if (!(e.Control is Label))
{
MessageBox.Show("control " + e.Control.Name + " is not a label but a " + e.Control.GetType().ToString());
Controls.Remove(e.Control);
}
}
}
于 2008-10-30T11:59:06.597 回答
-1
将 AllowDrop 设置为 false。
于 2008-10-30T11:40:30.033 回答