* UIDropControl: DropDownList时,显示水印文字
This commit is contained in:
parent
dac28c7c62
commit
35399a341a
@ -1473,7 +1473,7 @@ namespace Sunny.UI
|
||||
/// <param name="size">大小</param>
|
||||
/// <param name="padding">边距</param>
|
||||
/// <param name="align">位置位置</param>
|
||||
public static void DrawString(this Graphics g, string str, Font font, Color color, Size size, Padding padding, ContentAlignment align)
|
||||
public static void DrawString(this Graphics g, string str, Font font, Color color, Size size, Padding padding, ContentAlignment align, int offsetX = 0, int offsetY = 0)
|
||||
{
|
||||
if (str.IsNullOrEmpty()) return;
|
||||
SizeF sf = g.MeasureString(str, font);
|
||||
@ -1481,40 +1481,40 @@ namespace Sunny.UI
|
||||
switch (align)
|
||||
{
|
||||
case ContentAlignment.MiddleCenter:
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f,
|
||||
padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f);
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX,
|
||||
padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.TopLeft:
|
||||
g.DrawString(str, font, br, padding.Left, padding.Top);
|
||||
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.TopCenter:
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f, padding.Top);
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, padding.Top + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.TopRight:
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right, padding.Top);
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.MiddleLeft:
|
||||
g.DrawString(str, font, br, padding.Left, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f);
|
||||
g.DrawString(str, font, br, padding.Left + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.MiddleRight:
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f);
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, padding.Top + (size.Height - sf.Height - padding.Top - padding.Bottom) / 2.0f + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomLeft:
|
||||
g.DrawString(str, font, br, padding.Left, size.Height - sf.Height - padding.Bottom);
|
||||
g.DrawString(str, font, br, padding.Left + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomCenter:
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f, size.Height - sf.Height - padding.Bottom);
|
||||
g.DrawString(str, font, br, padding.Left + (size.Width - sf.Width - padding.Left - padding.Right) / 2.0f + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||
break;
|
||||
|
||||
case ContentAlignment.BottomRight:
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right, size.Height - sf.Height - padding.Bottom);
|
||||
g.DrawString(str, font, br, size.Width - sf.Width - padding.Right + offsetX, size.Height - sf.Height - padding.Bottom + offsetY);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,7 @@
|
||||
* 2020-07-05: V2.2.6 更新KeyDown、KeyUp、KeyPress事件
|
||||
* 2022-09-16: V3.2.4 支持自定义右键菜单
|
||||
* 2023-02-07: V3.3.1 增加Tips小红点
|
||||
* 2023-04-08: V3.3.4 DropDownList时,显示水印文字
|
||||
******************************************************************************/
|
||||
|
||||
using System;
|
||||
@ -31,18 +32,6 @@ using System.Windows.Forms;
|
||||
|
||||
namespace Sunny.UI
|
||||
{
|
||||
public enum UIDropDownStyle
|
||||
{
|
||||
/// <summary>
|
||||
/// 通过单击下箭头指定显示列表,并指定文本部分可编辑。 这表示用户可以输入新的值,而不仅限于选择列表中现有的值。
|
||||
/// </summary>
|
||||
DropDown,
|
||||
/// <summary>
|
||||
/// 通过单击下箭头指定显示列表,并指定文本部分不可编辑。 这表示用户不能输入新的值。 只能选择列表中已有的值。
|
||||
/// </summary>
|
||||
DropDownList
|
||||
}
|
||||
|
||||
[ToolboxItem(false)]
|
||||
public partial class UIDropControl : UIPanel
|
||||
{
|
||||
@ -402,7 +391,10 @@ namespace Sunny.UI
|
||||
|
||||
if (!edit.Visible)
|
||||
{
|
||||
g.DrawString(Text, Font, GetForeColor(), Size, Padding, TextAlignment);
|
||||
if (Text.IsValid())
|
||||
g.DrawString(Text, Font, GetForeColor(), Size, Padding, TextAlignment);
|
||||
else if (Watermark.IsValid())
|
||||
g.DrawString(Watermark, Font, WatermarkColor, Size, Padding, TextAlignment, 6, 1);
|
||||
}
|
||||
|
||||
g.FillRectangle(GetFillColor(), new Rectangle(Width - 27, Radius / 2, 26, Height - Radius));
|
||||
|
@ -221,4 +221,16 @@ namespace Sunny.UI
|
||||
FilterCount = filterCount;
|
||||
}
|
||||
}
|
||||
|
||||
public enum UIDropDownStyle
|
||||
{
|
||||
/// <summary>
|
||||
/// 通过单击下箭头指定显示列表,并指定文本部分可编辑。 这表示用户可以输入新的值,而不仅限于选择列表中现有的值。
|
||||
/// </summary>
|
||||
DropDown,
|
||||
/// <summary>
|
||||
/// 通过单击下箭头指定显示列表,并指定文本部分不可编辑。 这表示用户不能输入新的值。 只能选择列表中已有的值。
|
||||
/// </summary>
|
||||
DropDownList
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user