WinForm-使用单像素边框绘制尺寸调整框架
时间:2020-03-06 14:22:03 来源:igfitidea点击:
在具有调整大小框架的Windows窗体中,框架边框以凸起的3-D外观绘制。我希望它以自己选择的颜色绘制带有单个像素的扁平边框。
无需所有者绘制整个表格,这是否可能?
解决方案
我们可以尝试这样的事情:
Point lastPoint = Point.Empty; Panel leftResizer = new Panel(); leftResizer.Cursor = System.Windows.Forms.Cursors.SizeWE; leftResizer.Dock = System.Windows.Forms.DockStyle.Left; leftResizer.Size = new System.Drawing.Size(1, 100); leftResizer.MouseDown += delegate(object sender, MouseEventArgs e) { lastPoint = leftResizer.PointToScreen(e.Location); leftResizer.Capture = true; } leftResizer.MouseMove += delegate(object sender, MouseEventArgs e) { if (lastPoint != Point.Empty) { Point newPoint = leftResizer.PointToScreen(e.Location); Location = new Point(Location.X + (newPoint.X - lastPoint.X), Location.Y); Width = Math.Max(MinimumSize.Width, Width - (newPoint.X - lastPoint.X)); lastPoint = newPoint; } } leftResizer.MouseUp += delegate (object sender, MouseEventArgs e) { lastPoint = Point.Empty; leftResizer.Capture = false; } form.BorderStyle = BorderStyle.None; form.Add(leftResizer);