RaUI/Source/ryControls/Controls/DoubleText.cs
鑫Intel a1d6dce946 ### 2021-08-03更新
------
#### MyDbV4    V3.0.2108.0301
- *.[新增]新增内置HtmlAgilityPack组件。
2021-08-30 19:47:56 +08:00

174 lines
4.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ryControls;
namespace ryControls
{
/// <summary>
/// 选择文本框
/// </summary>
[DefaultEvent("OnSelected")]
public partial class DoubleText : UserControl
{
/// <summary>
/// 选择文本框
/// </summary>
public DoubleText()
{
InitializeComponent();
txtInfo.Font = Font;
base.GotFocus += DoubleText_Enter;
}
private Color _baseColor = Color.FromArgb(12, 125, 182);//基颜色
/// <summary>
///按钮基础背景色
/// </summary>
[Description("按钮基础背景色")]
[DefaultValue(typeof(Color), "12, 125, 182")]
public Color BaseColor
{
get { return _baseColor; }
set
{
_baseColor = value;
btnSelected.BaseColor = _baseColor;
}
}
private bool _UseDefSkin = true;
/// <summary>
///优先使用默认皮肤
/// </summary>
[Description("优先使用默认皮肤")]
[DefaultValue(typeof(bool), "true")]
public bool UseDefSkin
{
get
{
return _UseDefSkin;
}
set
{
_UseDefSkin = value;
btnSelected.UseDefSkin = _UseDefSkin;
base.Invalidate();
}
}
/// <summary>
/// 选择的id
/// </summary>
public string selectId = "";
/// <summary>
/// 选择的名称
/// </summary>
public string SelectName
{
get { return txtInfo.Text; }
set { txtInfo.Text = value; toolTip1.SetToolTip(txtInfo, value); toolTip1.SetToolTip(this, value); }
}
/// <summary>
/// 选择的名称
/// </summary>
public override string Text
{
get
{
return SelectName;
}
set
{
SelectName = value;
}
}
/// <summary>
/// 字体
/// </summary>
public override Font Font
{
get
{
return txtInfo.Font;
}
set
{
txtInfo.Font = value;
}
}
/// <summary>
/// 重新设置大小
/// </summary>
public void ResizeSize()
{
txtInfo.Location = new Point(3, 1);
txtInfo.Top = (Height - txtInfo.Height) / 2;
//Height = txtInfo.Height;
btnSelected.Height = Height;
btnSelected.Width = Height;
btnSelected.Location = new Point(Width- btnSelected.Width, 0);
txtInfo.Width = Width - btnSelected.Width-3;
}
/// <summary>
/// 在选择时激发
/// </summary>
[Description("在选择时激发")]
public event EventHandler OnSelected;
private void DoubleText_Load(object sender, EventArgs e)
{
ResizeSize();
}
private void DoubleText_Resize(object sender, EventArgs e)
{
ResizeSize();
}
/// <summary>
/// 点击选择
/// </summary>
public void PerformClick()
{
btnSelected.PerformClick();
}
private void BtnSelected_Click(object sender, EventArgs e)
{
OnSelected?.Invoke(this, new EventArgs());
}
private void TxtInfo_DoubleClick(object sender, EventArgs e)
{
OnSelected?.Invoke(this, new EventArgs());
}
private void DoubleText_FontChanged(object sender, EventArgs e)
{
txtInfo.Font = Font;
btnSelected.Font = Font;
ResizeSize();
}
private void DoubleText_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawRectangle(new Pen(SkinHelp.DefalutBorderColor), new Rectangle(0, 0, this.Width - 1, this.Height - 1));
}
private void TxtInfo_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode==Keys.Enter)
{
OnSelected?.Invoke(this, new EventArgs());
}
}
private void DoubleText_Enter(object sender, EventArgs e)
{
txtInfo.Focus();
txtInfo.Select();
}
}
}