Невозможно сбросить значения свойств в пользовательском элементе управления в cf 3.5 - PullRequest
0 голосов
/ 15 февраля 2012

Я извиняюсь, если терминология неверна - не уверен, следует ли называть ее унаследованным, пользовательским или пользовательским. В любом случае, имейте в виду, что это вопрос разработки компактного фреймворка 3.5 / smart device. У меня есть элемент управления, который наследуется от кнопки. В основном это рисует градиент и закругляет углы. У меня есть 6 пользовательских свойств, которые я добавил к этому элементу управления. Я заметил, что когда я устанавливаю значение одного из этих свойств в окне свойств в конструкторе, я никогда не могу «сбросить» значение (то есть щелчок правой кнопкой мыши -> сброс). Проблема заключается в том, что одним из этих свойств является изображение, и теперь единственный способ очистить это изображение - удалить кнопку из формы и воссоздать ее. Я попытался установить значение по умолчанию в файле DesignTimeAttributes.xmta для всех свойств, но это, похоже, не помогло. «Сброс» все еще отключен. Любая помощь приветствуется. Код из свойства Image класса выглядит следующим образом:

Private _Image As Bitmap = Nothing
Public Property Image() As Bitmap
    Get
        Return _Image
    End Get
    Set(ByVal value As Bitmap)
        _Image = value
        Invalidate()
    End Set
End Property

1 Ответ

0 голосов
/ 17 февраля 2012

Попробуйте это:

public void ResetImage()
{
    if (Image != null)
    {
      Image.Dispose();
      Image = null;
    }
}

Вы всегда можете создать метод Reset для любого свойства:

public void Reset[PropertyName]()
{
  // Reset your property
}

Примечание. Дизайнер не будет вызывать метод Reset, если установить значение DefaultValue.в Xmta.

...