Customcontrol имеет свойство, но оно теряется при сохранении. Например, control. cousor(от cursors-статическое свойство).
Простите за мой английский.
Я написал элемент управления, который имеет свойство Associa(class). И эта ссылка на свойство из статического класса. когда я разработал и сохранил форму, это свойство было потеряно.
Код:
public sealed class Associa { private string _FunCode = "NULL"; /// <summary> /// 构造 /// </summary> private Associa() { } public string FunCode { get { return this._FunCode; } private set { if (string.IsNullOrEmpty(value)) { value = "NULL"; } if (this._FunCode != value) { this._FunCode = value; } } } public static Associa Generate(string pcFunCode) { Associa loAssocia = new Associa(); loAssocia.FunCode = pcFunCode; return loAssocia; }
public static class AssociaFactory { public static Associa NULL = Associa.Generate("NULL"); public static Associa pubvocabulary = Associa.Generate("pubvocabulary"); }
используется:
этот код в файле конструктора
this.control.Associa = AssociaFactory.NULL
он потерял на спасении
Что я уже пробовал:
я смотрю код " контроль.Курсор", но понятия не имеет.....
BillWoodruff
Непонятно, что вы здесь делаете. Какова ваша цель ? Когда вы упоминаете "сохранение", логично предположить некоторую форму сериализации ... но ваш код не показывает никаких попыток сериализации или де-сериализации.
Ralf Meier
Я думаю, что ОП хочет, чтобы значение свойства было "сохранено" дизайнером. Но для меня этот "CustomControl" не имеет никакого смысла в этом смысле. Возможно, потребуется больше информации ...
AdaEniac
Да. Я хочу, чтобы значение свойства было "сохранено" дизайнером.
Ralf Meier
ОК... показать (повышение ваш вопрос) кода, где вы используете объединениям в собственность ...
AdaEniac
Ну,я хочу имитировать систему.Окна.Формы.Указатель.
Как вы знаете, " контроль.Курсор " - это от курсоров. Итак, когда вы сохранили форму, вы можете увидеть свойство с именем "Курсор" в файле XXX.Designer.cs.
такой "этот.Курсор = Система.Окна.Формы.Указатели.По умолчанию".
Итак, как я могу сохранить свою собственность, например " курсор"
Ralf Meier
Извините , я не могу вас понять ... :(
Я понял следующее: Вы создали класс и хотите использовать этот класс в качестве свойства с вашим собственным пользовательским элементом управления. Для этого я хочу увидеть код Свойства, где вы пытались это реализовать.
Чего я не понял, так это : для чего вам нужно свойство Cursor-Property в этом контексте ?
Возможно, я совершенно неправильно понял ваше требование. Если да : пожалуйста, объясните еще раз с дополнительной информацией ...
AdaEniac
ОПЫТ
публичный класс TestControl: System.Окна.Формы.Контроль
{
частная Ассоциация _Associa = Associas. NULL;
публичный тестовый контроль()
{
}
общественная ассоциация Ассоциация
{
get { return _Associa; }
set { _Associa = значение; }
}
}
Ralf Meier
см. мое решение (2)
AdaEniac
огорченный。。。
я знаю это, но это не имело никакого эффекта
Ralf Meier
Я изменил свое решение - взгляните ...
Я думаю. что ваша проблема generell заключалась в том, что сеттер FunCode был частным ... (почему ?)
AdaEniac
Большое спасибо!
Ralf Meier
Добро пожаловать...
Спасибо за ваше голосование ... :)
AdaEniac
Я думаю. что ваша проблема generell заключалась в том, что сеттер FunCode был частным ... (почему ?)
Ну, несколько раз назад мы использовали Enum в базовой Dll. но Enum, как вы знаете, не поддается масштабированию. Итак,я хочу смоделировать систему.Окна.Формы.Указатель.
Контроль.Курсор, на который ссылаются курсоры, а курсоры-это статический класс
Таким образом, легко расширить производный класс
Ralf Meier
Извиняюсь... Я тебя не понимаю ...
Пожалуйста, объясните еще раз ...
Вам нужна дополнительная помощь в чем-то ?
AdaEniac
Нет, спасибо
AdaEniac
да
Ralf Meier
Да ?..??
Что вы имеете в виду? ..??