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 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); } } }