Как изменить цвет рамки кнопки?
Это мой код:
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.
Ответ 2
В зависимости от вашей структуры существует новое свойство BorderColor
http://msdn.microsoft.com/en-us/library/system.windows.forms.flatbuttonappearance.bordercolor.aspx,
Вы проверили это?
Также приведен пример чего-то подобного
Изменить цвет рамки Windows Forms Control на фокусе
Ответ 3
Вам нужно указать свой элемент управления как кнопку (или какой бы тип он ни был). Control является базовым классом и не будет содержать свойств для изменения цветов границ. Это приложение Windows?
Ответ 4
вы можете использовать flatAppearance.BorderColor
btn.FlatAppearance.BorderColor = System.Drawing.Color.Blue;