public void StartControlSkin() { CalcRect(); AssignHandle(vsbBase.Handle); vsbBase.SizeChanged += new EventHandler(vsbBase_SizeChanged); vsbBase.LocationChanged += new EventHandler(vsbBase_LocationChanged); vsbBase.VisibleChanged += new EventHandler(vsbBase_VisibleChanged); //构造一个假的滚动条 FakeScrollBar = new Control(); vsbBase.Parent.Controls.Add(FakeScrollBar); FakeScrollBar.Location = vsbBase.Location; FakeScrollBar.Size = vsbBase.Size; FakeScrollBar.Visible = vsbBase.Visible; FakeScrollBar.Paint += new PaintEventHandler(FakeScrollBar_Paint); FakeScrollBar.BringToFront(); vsbBase.SendToBack(); mp = new MessagePortal(FakeScrollBar.Handle, vsbBase.Handle); mp.OpenPortal(); }