|

Цветная рамка (border color) для элемента ToolStripTextBox по умолчанию отсутствует.
Есть только черная рамка по типу, может быть или не быть.
Меня это в корне не устраивало и погуглив и перепробовав дюжину вариантов, я нашел 1 самый простой вариант отрисовки цветной рамки..
Для начала я добавил на форму элемент StripTextBox и именем tsFindbyName:
1 | private System.Windows.Forms.ToolStripTextBox tsFindbyName |
В данном случае свойство BorderStyle можно установить в None.
Далее необходимо создать метод и привязать его к событию перерисовки элемента StripTextBox - Paint.
В данном случае метод будет назваться Form1_Paint и содержать следующий код:
1 2 3 4 5 6 | private void Form1_Paint(object sender, PaintEventArgs e) { Rectangle rect = new Rectangle(1, 1, 145, 18); rect.Inflate(1, 1); ControlPaint.DrawBorder(e.Graphics, rect, Color.Silver, ButtonBorderStyle.Solid); } |
После сборки проекта мы увидим следующую границу :
В данном случае построена сплошная рамка (ButtonBorderStyle.Solid) цветом Silver и толщиной в 1 пиксель.
Данный результат нас не вполне устраивает. Для корректной отрисовки правой и левой границы необходимо изменить внутренние интервалы для нашего элемента ToolStripTextBox. Например следующим образом. Скриншот ниже.
Далее пересобираем проект снова и видим вполне себе корректный результат.
Вы также можете ознакомиться с другими статьями:

28th Ноя 2016
|
Теги:
|