【发布时间】:2011-10-26 05:33:29
【问题描述】:
我有一个名为 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;
}
但 marquee 默认情况下始终为 true。如果我想关闭marquee,我必须通过表单中的公共变量picturePanel1.Marquee = false来设置它。如何在用户控件中将选取框默认设为 false?
【问题讨论】:
-
最佳实践是使用 default(T) ,其中 T 可以是任何类型,当您感到困惑时,它可以对 LHS 进行批处理。 bool someValue = default(bool);