private void txtKey_TextChanged(object sender, EventArgs e)
        {
            var    keyName     = textboxKeyName.Text;
            string errorString = null;

            if (_resourceHolder.FindByKey(keyName) != null)
            {
                errorString = Localization.Error_KeyAlreadyExists;
            }
            else if (string.IsNullOrWhiteSpace(keyName))
            {
                errorString = Localization.Error_KeyCantBeEmpty;
            }
            else if (keyName.Any(x => !char.IsLetterOrDigit(x) && x != '_'))
            {
                errorString = Localization.Error_InvalidKeyName;
            }

            errorProvider.SetError(textboxKeyName, errorString);

            btnAdd.Enabled = errorString == null;
        }
        private void txtKey_TextChanged(object sender, EventArgs e)
        {
            var    keyName     = textboxKeyName.Text;
            string errorString = null;

            if (_resourceHolder.FindByKey(keyName) != null)
            {
                errorString = "Key with this name already exists";
            }
            else if (string.IsNullOrWhiteSpace(keyName))
            {
                errorString = "Key name can't be empty";
            }
            else if (keyName.Any(x => !char.IsLetterOrDigit(x)))
            {
                errorString = "Key name can only contain letters and numbers";
            }

            errorProvider.SetError(textboxKeyName, errorString);

            btnAdd.Enabled = errorString == null;
        }