Как изменить цвет рамки кнопки?

Это мой код:

buttonName = "btn" + y.ToString() + x.ToString();
Control btn = this.Controls.Find(buttonName, true)[0] as Control;
btn.BackColor = System.Drawing.Color.Blue;

Однако я не вижу никаких свойств изменения цвета границы и т.п.

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

Есть ли код, аналогичный приведенному выше, который позволит мне изменить цвет рамки кнопки?

Ответы

Ответ 1

Я не уверен, какое приложение вы работаете, но в winforms нет свойства границы для кнопки непосредственно на нем, даже в дизайнере. Вы можете использовать кнопку плоского стиля. И ваш тип должен быть кнопкой.

вы можете сделать это как:

buttonName = "btn" + y.ToString() + x.ToString();
Button btn = this.Controls.Find(buttonName, true)[0] as Button;
btn.BackColor = System.Drawing.Color.Blue;
btn.FlatStyle = FlatStyle.Flat
btn.FlatAppearance.BorderColor = Color.Red;
btn.FlatAppearance.BorderSize = 1;

К сожалению, это будет работать только с кнопкой с FlatStyle.

Ответ 3

Вам нужно указать свой элемент управления как кнопку (или какой бы тип он ни был). Control является базовым классом и не будет содержать свойств для изменения цветов границ. Это приложение Windows?

Ответ 4

вы можете использовать flatAppearance.BorderColor

    btn.FlatAppearance.BorderColor = System.Drawing.Color.Blue;