WinForm - 단일 픽셀 테두리를 사용하여 크기 조정 프레임 그리기
문제
크기 조정 프레임이 있는 Windows Form에서는 프레임 테두리가 3차원 모양으로 그려집니다.내가 선택한 색상으로 평평한 단일 픽셀 테두리를 사용하여 그리고 싶습니다.
소유자가 전체 양식을 그릴 필요 없이 이것이 가능합니까?
해결책
다음과 같이 시도해 볼 수 있습니다.
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);
제휴하지 않습니다 StackOverflow