我有一个名为PicturePanel的用户控件。关于鼠标事件(MouseDown,MouseMove,MouseUp),我具有以下内容:
protected override void OnMouseDown(MouseEventArgs e)
{
if (marquee == true && e.Button == MouseButtons.Left && BackgroundImage != null)
{
//Code to create rectangular marquee
}
else
{
}
}
默认为类级别变量private bool marquee = false
。和公开的。
private bool marquee = false;
public bool Marquee
{
get { return marquee; }
set { marquee = value; }
}
我什至尝试在初始化时分配false
:
public PicturePanel()
{
InitializeComponent();
marquee = false;
}
但是默认情况下,选取框始终为true。如果要关闭选取框,则必须通过表格中的公共变量picturePanel1.Marquee = false
进行设置。默认情况下,如何在用户控件中将选取框设置为假?
我不确定这是否是您在说的,但是如果您引用的是在[[designer中看到的默认值,那么只需将以下属性添加到属性中:
[DefaultValue(false)]
public bool Marquee
...
只需在private bool marquee = false;
上设置一个断点并逐步执行代码,您会很快发现它。
this.DesignMode
来防止这种情况。示例:
if (this.DesignMode) return;