📄 wndlesslabel.cs
字号:
namespace Imps.Client.Pc.WndlessControls
{
using System;
using System.Drawing;
using System.Windows.Forms;
public class WndlessLabel : WndlessControl
{
private bool _autoEllipsis;
protected override string GetRealToolTipText()
{
if (this.AutoEllipsis)
{
Size preferredClientSize = this.PreferredClientSize;
Size clientSize = base.ClientSize;
if ((preferredClientSize.Width > clientSize.Width) || (preferredClientSize.Height > clientSize.Height))
{
return this.Text;
}
}
return base.GetRealToolTipText();
}
internal void InnerDoAutoSize(bool invalidate)
{
base.DoAutoSize(invalidate);
}
protected override void OnPaint(PaintEventArgs e)
{
TextFormatFlags textFormat = this.TextFormat;
if (this.Text.Length > 0)
{
if (base.Enabled)
{
TextRenderer.DrawText((IDeviceContext) e.Graphics, this.Text, base.Font, this.ClientRectangle, base.ForeColor, textFormat);
}
else
{
ControlPaint.DrawStringDisabled((IDeviceContext) e.Graphics, this.Text, base.Font, base.BackColor, this.ClientRectangle, textFormat);
}
}
}
public bool AutoEllipsis
{
get
{
return this._autoEllipsis;
}
set
{
this._autoEllipsis = value;
base.Invalidate();
}
}
public override Size PreferredClientSize
{
get
{
return TextRenderer.MeasureText(this.Text, base.Font);
}
}
protected TextFormatFlags TextFormat
{
get
{
if (!this.AutoEllipsis)
{
return 0x10;
}
return 0x8000;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -