C#.NET を使用して、Windows アプリケーション用のカスタム TextBox を作成しました。8.32 や 16.002 のような 10 進数 (浮動小数点数) を受け入れる必要があります。
以下のアルゴリズムを構築しました。純粋な数字のみを受け付けています。フロートも受け入れるようにする方法がわかりません。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
namespace SmartTextBoxLib
{
public partial class SmartTextBox : TextBox
{
public SmartTextBox()
{
InitializeComponent();
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
base.OnKeyPress(e);
}
}
}