/// <summary>
        ///
        /// </summary>
        /// <param name="control"></param>
        public void Attach(ComboBox control)
        {
            if (control == null)
            {
                throw new ArgumentNullException("control");
            }

            if (Handle != IntPtr.Zero)
            {
                throw new InvalidOperationException("behavior is attached");
            }

            Handle = control.Handle;
            MessageHook.Subclass(control.Parent.Handle, Callback);
        }