我需要在我的自定义控件中添加一个属性来编写&从数据库读取值,但是当用户从属性框更改属性值时,它会将其作为我的控件的属性写在我的页面上。
如何阻止Visual Studio在页面上写入属性值?
答案 0 :(得分:0)
我认为Control类的DesignMode
属性是您正在寻找的:
public string ReadWriteDBValue
{
get
{
if (!this.DesignMode)
return GetValueFromDB();
else
return string.Empty;
}
set
{
if (!this.DesignMode)
SetValueFromDB(value);
}
}
在某些情况下,DesignMode属性无效。这篇文章详细介绍了DesignMode属性:
http://dotnetfacts.blogspot.com/2009/01/identifying-run-time-and-design-mode.html
所以在过去我将DesignMode
属性与System.ComponentModel.LicenseManager.UsageMode
属性结合使用。
if (!this.DesignMode && System.ComponentModel.LicenseManager.UsageMode != LicenseUsageMode.Designtime)
{
//insert code that you do not want to be performed at design time.
}