Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Подсвойства в C#


Автор: andzej1 8.2.2006, 21:29
Скажите, народ, кто ни будь знает как реализовать подсвойства в С#, так что бы их можно было в режиме Design редактировать в окне Properties так как это сделано во всех (почти) стандартных компонентах, к примеру, свойство Size, а внем свойства Height и Width.

Как можно сделать свои такие же подсвойства? (Мне тоже нужны integer-ы)

Автор: mr.DUDA 8.2.2006, 22:08
Да, вопрос явно не простой.
Что по этому поводу пишет MSDN ?

Автор: andzej1 8.2.2006, 22:53
В MSDN-е нашел как создавать класс свойств

Код

// The Address class.
public class Address {
    private string street = null;
    private string city = null;
    private string state = null;
    private string zip = null;

    // The Street property.
    public string Street {get{...} set{...}} 

    // The City property.
    public string City {get{...} set{...}}
     
    // The State property.
    public string State {get{...} set{...}}

    // The Zip property.
    public string Zip {get{...} set{...}}
}


Вроде бы все логично, но в окне Properties свойство редактировать нельзя, отображается только название класа.

Автор: Exception 8.2.2006, 22:55
Такое не пройдет?
Код

using System.ComponentModel;
class MyComponent
{
//...
[Category("Size")]
int Height{}
[Category("Size")]
int Width{}
}

?

Автор: mr.DUDA 8.2.2006, 23:00
Можно попробовать вложить один компонент в другой.

Цитата(Exception @ 8.2.2006, 21:55 Найти цитируемый пост)
Такое не пройдет?

Из этого получится только то, что св-ва класса будут в отдельной категории, но подсвойства так не вывести, имхо

Автор: Exception 8.2.2006, 23:02
Я надеюсь, ты не дословно этот пример компилишь smile ?
Надо заменить фсякие
Код
int Height{}
на
Код
private int height;
int Height{
get{return height;}
set{height = value;}
}
, надеюсь, это понятно.
Добавлено @ 23:04
Это был пост не тебе, дуда smile
Попробуй, порефлекторь System.Windows.Forms, может, что всплывет?

Автор: -ser- 10.2.2006, 06:12
раз начали гадать, то предлагаю почитать статейку в двух частях

http://www.codeproject.com/csharp/propertyeditor.asp

и продолжение

http://www.codeproject.com/csharp/customdesigner.asp

Автор: andzej1 13.2.2006, 15:34
Сенкс -ser- за ссылку, помогло.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)