public void Log(object target, string eventName, object[] parameters, string[] parameterNames)
        {
            if (TextAdded != null)
            {
                StringBuilder builder = new StringBuilder();
                for (int i = 0; i < parameterNames.Length; i++)
                {
                    if (i != 0)
                    {
                        builder.Append(", ");
                    }

                    if (parameterNames[i] == "sender" && parameters[i] == target)
                    {
                        builder.Append("sender");
                    }
                    else
                    {
                        builder.Append(parameterNames[i] + " = " + EventHandlerTypeVisitors.Instance.Convert(parameters[i]));
                    }
                }

                TextAdded(HawkeyeUtils.GetControlName2OrToString(target) + eventName + "( " + builder.ToString() + ")\r\n");
            }
        }
        private static string MouseEventArgs(object value)
        {
            MouseEventArgs args = value as MouseEventArgs;

            return("MouseEventArgs( Button:" + HawkeyeUtils.EnumToString(args.Button) + ", Location:(" + args.X + "x" + args.Y + "), Clicks:" + args.Clicks + ", Delta:" + args.Delta + ")");
        }