我遇到了一个问题,我认为是和我的Visual Studio 2010 Express环境有关:当我设计自己的UserControl时,在属性网格中,我看不到该控件的公共属性。然而,在引用此控件的项目中,它们是可见的。
由于这是Express版本,我创建了一个新的空项目,然后将新的UserControl添加到其中。
然后,为了测试,我放置了以下代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Project1
{
public partial class UserControl1 : UserControl
{
private int myNumber;
[Browsable(true)]
public int MyNumber
{
get
{
return myNumber;
}
set
{
myNumber = value;
}
}
public UserControl1()
{
InitializeComponent();
}
}
}
在VS 2008中,我记得在属性网格中显示MyNumber属性应该足够了,即使没有[Browsable(true)]属性。然而,在VS 2010中,当我双击解决方案资源管理器中的UserControl1.cs并查看属性时,我看不到MyNumber。
当在另一个项目中引用和使用此控件时,可以访问它的属性。
我尝试彻底重新安装VS 2010环境(包括SP1),但没有成功。您有任何想法吗?
顺便说一下:这些属性都不起作用。
[Browsable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
[Bindable(true)]
最好的问候,
Marcin