Measure using correct font for vertical bar in Textbox

Fix #5533
This commit is contained in:
niksedk 2021-11-25 19:25:08 +01:00
parent 92d46db56e
commit 8a7a22276f
3 changed files with 32 additions and 4 deletions

View File

@ -109,7 +109,6 @@ namespace Nikse.SubtitleEdit.Controls
textBox.Font = gs.SubtitleTextBoxFontBold ? new Font(gs.SubtitleFontName, gs.SubtitleTextBoxFontSize, FontStyle.Bold) : new Font(gs.SubtitleFontName, gs.SubtitleTextBoxFontSize);
textBox.ForeColor = gs.SubtitleFontColor;
textBox.BackColor = gs.SubtitleBackgroundColor;
Font = textBox.Font;
}
catch
{
@ -117,6 +116,35 @@ namespace Nikse.SubtitleEdit.Controls
}
}
public Font TextBoxFont
{
get
{
if (_simpleTextBox != null)
{
return _simpleTextBox.Font;
}
if (_uiTextBox != null)
{
return _uiTextBox.Font;
}
return base.Font;
}
set
{
if (_simpleTextBox != null)
{
_simpleTextBox.Font = value;
}
if (_uiTextBox != null)
{
_uiTextBox.Font = value;
}
}
}
public override string Text
{

View File

@ -9841,7 +9841,7 @@ namespace Nikse.SubtitleEdit.Forms
var noOfNewLines = Utilities.GetNumberOfLines(tb.Text.TrimEnd());
try
{
if (noOfNewLines <= 2 && tb.Text.Length <= 70 && tb.Font.Size < 15 && tb.Width > 300)
if (noOfNewLines <= 2 && tb.Text.Length <= 70 && tb.TextBoxFont.Size < 15 && tb.Width > 300)
{
tb.ScrollBars = RichTextBoxScrollBars.None;
}
@ -9853,7 +9853,7 @@ namespace Nikse.SubtitleEdit.Forms
{
var calculatedHeight = TextRenderer.MeasureText(
tb.Text,
tb.Font,
tb.TextBoxFont,
new Size(tb.Width, 1000),
TextFormatFlags.WordBreak | TextFormatFlags.TextBoxControl).Height;
tb.ScrollBars = calculatedHeight > tb.Height ? RichTextBoxScrollBars.Vertical : RichTextBoxScrollBars.None;

View File

@ -371,7 +371,7 @@ namespace Nikse.SubtitleEdit.Logic
}
}
IntellisenseItem.IntellisenseItemEdit.Font = textBox.Font;
IntellisenseItem.IntellisenseItemEdit.Font = textBox.TextBoxFont;
listBox.Items.Add(IntellisenseItem.IntellisenseItemEdit);
if (Configuration.Settings.General.UseDarkTheme)