谢谢各位解答。最后还是用的钩子。就是关闭程序的时候有点卡。希望release时能好点/
Point textTopLeft = base.Parent.PointToScreen(new Point(base.Left, base.Top));
Rectangle rectText = new Rectangle(textTopLeft, base.Size);
Point popTopLeft = new Point(this._dropDown.Left, this._dropDown.Top);
Rectangle rect = new Rectangle(popTopLeft, this._dropDown.Size);
if (rectText.Contains(e.X, e.Y) || rect.Contains(e.X, e.Y))
{