У меня проблема с (я полагаю) моей средой Visual Studio 2010 Express: когда я проектирую свой собственный UserControl, в сетке Свойства я не вижу общедоступные свойства этого элемента управления. Однако они видны в проекте, которые ссылаются на этот элемент управления.
Поскольку это Express Edition, я создаю новый пустой проект, а затем добавляю новый 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