Я хочу, чтобы мой пользовательский PropertyGrid со студентами1 и учеником2 был узлом с именем «Название, раздел, процент, школа» как дочерние для обоих узлов. Я пытался так:PropertyGrid с такими же дочерними и разными узлами
class StudentClass
{
private string name;
private string section;
private string percentage;
private string school;
[CategoryAttribute("Student1")]
public string School
{
get { return school; }
set { school = value; }
}
[CategoryAttribute("Student1")]
public string Percentage
{
get { return percentage; }
set { percentage = value; }
}
[CategoryAttribute("Student1")]
public string Section
{
get { return section; }
set { section = value; }
}
[CategoryAttribute("Student1")]
public string Name
{
get { return name; }
set { name = value; }
}
private string name1;
[CategoryAttribute("Student2")]
public string Name1
{
get { return name1; }
set { name1 = value; }
}
private string section1;
[CategoryAttribute("Student2")]
public string Section1
{
get { return section1; }
set { section1 = value; }
}
private string percentage1;
[CategoryAttribute("Student2")]
public string Percentage1
{
get { return percentage1; }
set { percentage1 = value; }
}
private string school1;
[CategoryAttribute("Student2")]
public string School1
{
get { return school1; }
set { school1 = value; }
}
}
public Form1()
{
InitializeComponent();
StudentClass sc = new StudentClass();
propertyGrid1.SelectedObject = sc1;
}
Выход такой, как показано ниже:
Сейчас на картинке выше для Student2 вместо "name1, section1, Percentage1, School1" Я хочу дисплей такой же как студент1. Но я не получил требуемый результат. Так что любезно помогите мне в этом. Я использую C# Winforms в VS2010
И Предложите мне, как запретить изменение размеров столбцов, т. Е. Я не должен позволять пользователю изменять размеры столбцов.
Хотя это сработает, я думаю, что реальное решение здесь состоит в том, чтобы разбить каждого «ученика» на отдельный класс, а затем просто создать студенческие объекты в StudentClass. Вы можете использовать расширяемый объектный конвертер для создания расширенных объектов свойств. Еще лучше, это может быть редактор коллекций, если есть N учеников. –
@Ron Действительно, следовательно, комментарий о «более подходящем пути», но у нас действительно нет достаточного контекста для консультирования, и этот вопрос может быстро стать слишком широким. –
@RonBeyer ваше решение отлично работает. Спасибо – Gopi