【DBDictionary】カスタムテキストボックス

カスタムテキストボックス コード

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Common.Util;

namespace Common.Forms
{
/// <summary>
/// カスタムテキストボックス
/// </summary>
public class CTextBox : TextBox
{
public CTextBox() {
CustomComponent();
}

/// <summary>
/// 表示フォーマットを指定
/// </summary>
/// <remarks>#,#とかを指定</remarks>
public string TextFormat { get; set; }

/// <summary>
/// フォーマット変換前のテキスト取得
/// </summary>
public string Value { get; private set; } = "";

private void CustomComponent() {
//
this.Enter += new EventHandler(
(object sender, EventArgs e) => {
this.SelectAll();
}
);

this.MouseDown += new MouseEventHandler(
(object sender, MouseEventArgs e) => {
this.SelectAll();
}
);

this.Leave += new EventHandler(
(object sender, EventArgs e) => {
DisplayFormtText();
}
);


this.TextChanged += new EventHandler(
(object sender, EventArgs e) => {
Value = this.Text;
}
);
}

private void DisplayFormtText() {
this.Text = StringUtil.Format(Value, TextFormat);
}

}
}