Windows Forms удаляет рельефную рамку с выбранной вкладкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Windows Forms удаляет рельефную рамку с выбранной вкладки

Сообщение Anonymous »

У меня есть левоориентированный элемент управления вкладками в форме, над которой я работаю. Моя цель - сделать так, чтобы индикатором выбранной вкладки было то, что заголовок вкладки подчеркивался, но не менял цвет или что-то в этом роде. На изображении ниже вы можете увидеть рамку, расположенную на выбранной вкладке и предназначенную для того, чтобы вкладка выглядела приподнятой. Я не могу понять, как удалить эту функцию из элемента управления вкладками. Посоветуйте, пожалуйста.
Вкладки с рамкой
Приведенный ниже код показывает, как я ориентирую текст и управляю цветом. Я попытался увеличить размер прямоугольника для каждой вкладки, но оказалось, что рисуемый прямоугольник находится под границей, поэтому я не могу его закрыть.
`private void FFTSettingsTabControl_DrawItem(object sender, DrawItemEventArgs e)
{
//Get the working area of the TabControl main control
Rectangle rec = FFTSettingsTabControl.ClientRectangle;

//Create a StringFormat object to set the layout of the label text
StringFormat StrFormat = new StringFormat();
StrFormat.LineAlignment = StringAlignment.Center;// Set the text to be centered vertically
StrFormat.Alignment = StringAlignment.Near;// Set the text to be centered horizontally

// The background fill color of the label, it can also be a picture (e.Graphics.DrawImage)
SolidBrush backColor = new SolidBrush(Color.FromArgb(255, (byte)20, (byte)20, (byte)20));
Pen p = new Pen(backColor);
SolidBrush fontColor;// Label font color
//Draw the background of the main control
e.Graphics.FillRectangle(backColor, rec);
e.Graphics.DrawRectangle(p, rec);

//Draw label style
Font fntTab = e.Font;
Font fntSel = new Font(e.Font, FontStyle.Underline);

Brush bshBack = new SolidBrush(Color.FromArgb(255, (byte)20, (byte)20, (byte)20));

for (int i = 0; i < FFTSettingsTabControl.TabPages.Count; i++)
{
bool bSelected = (FFTSettingsTabControl.SelectedIndex == i);
Rectangle recBounds = FFTSettingsTabControl.GetTabRect(i);
RectangleF tabTextArea = (RectangleF)FFTSettingsTabControl.GetTabRect(i);
if (bSelected)
{
e.Graphics.FillRectangle(bshBack, recBounds);
fontColor = new SolidBrush(Color.White);
e.Graphics.DrawString(FFTSettingsTabControl.TabPages.Text, fntSel, fontColor, tabTextArea, StrFormat);
}
else
{
fontColor = new SolidBrush(Color.White);
e.Graphics.DrawString(FFTSettingsTabControl.TabPages.Text, fntTab, fontColor, tabTextArea, StrFormat);
}
}
}`


Подробнее здесь: https://stackoverflow.com/questions/791 ... lected-tab
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Windows Forms удаляет рельефную рамку с выбранной вкладки
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Удалить рельефную рамку с выбранной вкладки
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Как получить текст для каждой вкладки и индекс выбранной вкладки из метода PaintTab() BasicTabbedPaneUI?
    Anonymous » » в форуме JAVA
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как определить черную рамку фотографии и удалить эту рамку?
    Anonymous » » в форуме Python
    0 Ответы
    41 Просмотры
    Последнее сообщение Anonymous
  • Белая линия появляется под заголовком выбранной вкладки в библиотеке реагирующих вкладок
    Anonymous » » в форуме CSS
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»