PIbd-32_Bulatova_K.R._COP_10/COP/BulatovaComponents/Components/MailControl.cs
2024-10-29 09:22:02 +04:00

78 lines
2.1 KiB
C#

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 BulatovaComponents.Components
{
public partial class MailControl : UserControl
{
public MailControl()
{
InitializeComponent();
}
public Regex? validateEmailRegex
{
get;
set;
}
public event Action<string> TextChange;
private string? tooltipText;
public string errorMessage = "";
public string? Email
{
get
{
//не забыл ли пользователь ввести регулярку и соответствует ли она
if (validateEmailRegex == null)
{
errorMessage = "Пустой шаблон!";
return null;
}
else if (!validateEmailRegex.IsMatch(textBoxMail.Text))
{
errorMessage = "Некорректный адрес эл. почты!";
return null;
}
else return textBoxMail.Text;
}
set
{
if (validateEmailRegex == null) errorMessage = "Пустой шаблон!";
else if (!validateEmailRegex.IsMatch(value)) errorMessage = "Некорректный адрес эл. почты!";
else
{
textBoxMail.Text = value;
}
}
}
private void textBoxMail_TextChanged(object sender, EventArgs e)
{
TextChange?.Invoke(textBoxMail.Text);
Email = textBoxMail.Text;
}
public void setTooltipText(string text)
{
tooltipText = text;
}
private void textBoxMail_MouseEnter(object sender, EventArgs e)
{
toolTipEmail.Show(tooltipText ?? "", textBoxMail);
}
}
}