Переопределенное свойство Font в пользовательском контроле не отображается в файле конструктора - PullRequest
3 голосов
/ 02 августа 2011

У меня есть пользовательский элемент управления и я переопределил его свойство Font.

Когда я перетаскиваю копию моего usercontrol на форму, я могу очень точно установить свойство Font, но я не вижу значения, установленного для 'Font', в файле дизайнера моей формы. Когда я компилирую / запускаю приложение, введенное мной значение теряется.

Обратите внимание, что я также хочу переопределить свойство Text и не могу увидеть установленное значение для этого в файле конструктора - пока я не нашел здесь ответ, чтобы помочь сделать это (мне нужно было установить 'DesignerSerializationVisibility атрибуты 'и' EditorBrowsable '). Я пытался сделать то же самое для шрифта, но безрезультатно. Есть идеи?

    private Font _Font = UserControl.DefaultFont;

    [Description("Sets the font of the button caption"),,
     Browsable(true),
     Bindable(true),
     EditorBrowsable(EditorBrowsableState.Always),
     DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    public override Font Font
    {
        get { return _Font; }
        set
        {
            _Font = value;
        }

    }

1 Ответ

3 голосов
/ 02 августа 2011

Измените свой код на это:

public UserControl1()
{
  InitializeComponent();
  base.AutoScaleMode = AutoScaleMode.None;
}

[Description("Sets the font of the button caption")]
public override Font Font
{
  get { return _Font; }
  set { _Font = base.Font = value; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...