92 lines
2.2 KiB
C#

using Components.Exceptions;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Components
{
public partial class CustomTextBox : UserControl
{
public CustomTextBox()
{
InitializeComponent();
}
private string _numberPattern;
public string numberPattern
{
get
{
return _numberPattern;
}
set
{
_numberPattern = value;
}
}
public string textBoxNumber
{
get
{
if (_numberPattern == null)
{
throw new CustomException("there is no pattern");
}
Regex regex = new(_numberPattern);
if (regex.IsMatch(textBox.Text))
{
return textBox.Text;
}
else
{
throw new CustomException("there is wrong pattern");
}
}
set
{
Regex regex = new(_numberPattern);
if (regex.IsMatch(value))
{
textBox.Text = value;
}
else
{
textBox.Text = string.Empty;
}
}
}
private void showToolTip(object sender, EventArgs e)
{
ToolTip tt = new ToolTip();
tt.Show("+X XXX XXX XX XX" , textBox);
}
private EventHandler _onValueChangedEvent;
public event EventHandler ValueChangedEvent
{
add
{
_onValueChangedEvent += value;
}
remove
{
_onValueChangedEvent -= value;
}
}
private void CustomTextBox_TextChanged(object sender, EventArgs e)
{
_onValueChangedEvent?.Invoke(sender, e);
}
}
}