private void FunctionNameTextBox_TextChanged(object sender, EventArgs e)
        {
            RegexPatterns RegexPatterns = new RegexPatterns();

            if (!RegexPatterns.IsVariable(FunctionNameTextBox.Text))
            {
                metroToolTip1.Show(tooltipText, FunctionNameTextBox);
            }
            else
            {
                metroToolTip1.Hide(FunctionNameTextBox);
                Function.Name = FunctionNameTextBox.Text;
            }
        }
        private void SubmitButton_Click(object sender, EventArgs e)
        {
            try
            {
                switch (ReturnType.Text)
                {
                case "int":
                    Function.Type = Enums.Type.Int;
                    break;

                case "float":
                    Function.Type = Enums.Type.Float;
                    break;

                case "double":
                    Function.Type = Enums.Type.Double;
                    break;

                case "string":
                    Function.Type = Enums.Type.String;
                    break;

                case "bool":
                    Function.Type = Enums.Type.Bool;
                    break;

                case "void":
                    Function.Type = Enums.Type.Void;
                    break;

                default:
                    throw new Exception("Return type can't be empty");
                }


                //switch (FunctionAccessModifier.Text)
                //{
                //    case "public":
                //        Function.AccessModifier = Enums.AccessModifier.Public;
                //        break;
                //    case "private":
                //        Function.AccessModifier = Enums.AccessModifier.Private;
                //        break;
                //    case "protected":
                //        Function.AccessModifier = Enums.AccessModifier.Protected;
                //        break;

                //    default:
                //        throw new Exception("AccessModifier  can't be empty");

                //}
                //Function.IsStatic = staticCheck.Checked;


                Function.Parameters.Clear();


                foreach (ParameterControl parameterControl  in ParameterFlow.Controls)
                {
                    Function.Parameters.Add(parameterControl.Parameter);
                }


                if (_regexPatterns.IsVariable(FunctionNameTextBox.Text))
                {
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    MetroMessageBox.Show(this, tooltipText, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception exception)
            {
                MetroMessageBox.Show(this, exception.Message);
            }
        }