Добавление пропущенных свойств поддержки в ToolStripStatusLabel, который переопределяет на пену?C#

Место общения программистов C#
Ответить
Anonymous
 Добавление пропущенных свойств поддержки в ToolStripStatusLabel, который переопределяет на пену?

Сообщение Anonymous »

Я использую следующий класс, который наследует от ToolStripStaTusLabel и добавляет функцию в текст ellipsis, который слишком длинный для отображения в управлении.

Код: Выделить всё

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip)]
public partial class SpringLabel : ToolStripStatusLabel
{
public SpringLabel()
{
this.Spring = true;
}

protected override void OnPaint(PaintEventArgs e)
{
var flags = TextFormatFlags.Left | TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter;
var bounds = new Rectangle(0, 0, this.Bounds.Width, this.Bounds.Height);
TextRenderer.DrawText(e.Graphics, this.Text, this.Font, bounds, this.ForeColor, flags);
}
}
Это работает нормально, но не хватает поддержки различных свойств родительского контроля, таких как Bordersides , а также любая поддержка изображений и так далее. Есть ли способ получить код ToolStripStatusLabel , чтобы попытаться скопировать или эмулировать часть его поведения? У меня действительно нет никаких идей о том, с чего начать искать.

Код: Выделить всё

[ToolStripItemDesignerAvailability(ToolStripItemDesignerAvailability.StatusStrip)]
public partial class SpringLabel : ToolStripStatusLabel
{
private string? _sltext;
public new string? Text
{
get => _sltext;
set { _sltext = value; ToolTipText = _sltext; Invalidate(); }
}
public SpringLabel()
{
this.Spring = true;
}

protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
var flags = TextFormatFlags.Left | TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter;
var bounds = new Rectangle(0, 0, this.Bounds.Width, this.Bounds.Height);
TextRenderer.DrawText(e.Graphics, _sltext, this.Font, bounds, this.ForeColor, flags);
}
}
< /code>
Это работает очень хорошо, но, вероятно, не поддерживает некоторые свойства, такие как изображения. Также, по -видимому, требуется, чтобы управление Parent StatusStrip, по -видимому, требует установки MayOutStyle 
по умолчанию таблицы .

Подробнее здесь: https://stackoverflow.com/questions/794 ... des-onpain
Ответить

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

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

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

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

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