2016-11-21 2 views
-1

Я написал следующий код для изменения цвета рамки ярлыка, но он не работает. Это то же самое, что и в свойствах метки.Ярлык и панель border-color не работают

void label1_Paint(object sender, PaintEventArgs e) 
{ 
    ControlPaint.DrawBorder(e.Graphics, label1.DisplayRectangle, Color.Red, ButtonBorderStyle.Solid); 
} 

Этот код here.

+0

Вы уже приняли ответ. Если у вас есть новый вопрос, задайте новый вопрос. Соблюдайте его правильно с помощью своего кода. – LarsTech

ответ

2

Я пробовал ваш код, и он отлично работает. Поэтому я думаю, проблема в том, что вы не подписались на свой лейбл Paint. Таким образом, вы должны сделать одну из этих двух вариантов:

  • Выберите свои свойства этикетки, перейти к событиям и дважды щелкните Paint события.

  • Добавить это конструктор вашей формы или Load события:

    label1.Paint += new System.Windows.Forms.PaintEventHandler(this.label1_Paint); 
    
+0

Спасибо ... Это помогло мне никогда не использовать его, поэтому не знал об этом. – Ankky

+0

Привет, когда я реализую то же самое для панели, он показывает ошибку. Ошибка: нет перегрузки для 'panel1_Paint' соответствует делегату 'PaintEventHandler' – Ankky

+0

Я предполагаю, что ваш метод 'panel1_paint' имеет неправильную подпись. Это должно быть примерно так: 'private void panel1_Paint (object sender, PaintEventArgs e)' – Pikoh