Hallo.
Hat jemand eine Idee, wie man diesen Boilerplate Code optimal schreiben kann?
Hat jemand eine Idee, wie man diesen Boilerplate Code optimal schreiben kann?
C#-Quellcode
- protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
- {
- base.OnPaint(e);
- Graphics G = e.Graphics;
- G.SmoothingMode = SmoothingMode.HighQuality;
- G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
- Func<int, int, int, Color> ARGBC = (int dd, int ee, int ff) => { return Color.FromArgb(dd, ee, ff); };
- Action<String, Color,Rectangle> DStr = (String x, Color Col, Rectangle Re) =>
- {
- using(SolidBrush sb = new SolidBrush(Col)){G.DrawString(x, Font, sb, Re);}
- };
- Action<String, Color,RectangleF> DStrF = (String x, Color Col, RectangleF Re) =>
- {
- using(SolidBrush sb = new SolidBrush(Col)){G.DrawString(x, Font, sb, Re);}
- };
- using (GraphicsPath gp = Draw.RoundRectF(bgr, 10))
- {
- using (LinearGradientBrush bg0 = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bg0, gp); }
- }
- using(LinearGradientBrush lgb10 = new LinearGradientBrush(MinBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90))
- {
- G.FillEllipse(lgb10, MinBtn);
- G.DrawEllipse(Pens.DimGray, MinBtn);
- }
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using(LinearGradientBrush lgb20 = new LinearGradientBrush(MaxBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) {G.FillEllipse(lgb20, MaxBtn);}
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using(LinearGradientBrush lgb30 = new LinearGradientBrush(CloseBtn, ARGBC(247, 150, 116), ARGBC(223, 81, 6), 90)){G.FillEllipse(lgb30, CloseBtn);}
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- switch (State)
- {
- case MouseState.None:
- using (LinearGradientBrush bg = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bg, Draw.RoundRectF(bgr, 10)); }
- using (LinearGradientBrush lgb1 = new LinearGradientBrush(MinBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) {G.FillEllipse(lgb1, MinBtn); }
- G.DrawEllipse(Pens.DimGray, MinBtn);
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using (LinearGradientBrush lgb2 = new LinearGradientBrush(MaxBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgb2, MaxBtn); }
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using (LinearGradientBrush lgb3 = new LinearGradientBrush(CloseBtn, ARGBC(247, 150, 116), ARGBC(223, 81, 6), 90)) { G.FillEllipse(lgb3, CloseBtn); }
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- break;
- case MouseState.Over:
- if (X > 3 && X < 20)
- {
- using (LinearGradientBrush bgx = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bgx, Draw.RoundRectF(bgr, 10)); }
- using (LinearGradientBrush lgby = new LinearGradientBrush(MinBtn, ARGBC(172, 171, 166), ARGBC(76, 75, 71), 90)) { G.FillEllipse(lgby, MinBtn); }
- G.DrawEllipse(Pens.DimGray, MinBtn);
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using (LinearGradientBrush lgbz = new LinearGradientBrush(MaxBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgbz, MaxBtn); }
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using (LinearGradientBrush lgbAA = new LinearGradientBrush(CloseBtn, ARGBC(247, 150, 116), ARGBC(223, 81, 6), 90)) { G.FillEllipse(lgbAA, CloseBtn); }
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- break;
- }
- else if (X > 23 && X < 40)
- {
- using (LinearGradientBrush bgWW = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bgWW, Draw.RoundRectF(bgr, 10)); }
- using (LinearGradientBrush lgbXX = new LinearGradientBrush(MinBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgbXX, MinBtn); }
- G.DrawEllipse(Pens.DimGray, MinBtn);
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using (LinearGradientBrush lgbJJ = new LinearGradientBrush(MaxBtn, ARGBC(172, 171, 166), ARGBC(76, 75, 71), 90)) { G.FillEllipse(lgbJJ, MaxBtn); }
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using (LinearGradientBrush lgbKK = new LinearGradientBrush(CloseBtn, ARGBC(247, 150, 116), ARGBC(223, 81, 6), 90)) { G.FillEllipse(lgbKK, CloseBtn); }
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- break;
- }
- else if (X > 43 && X < 60)
- {
- using (LinearGradientBrush bgPP = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bgPP, Draw.RoundRectF(bgr, 10)); }
- using (LinearGradientBrush lgb1SS = new LinearGradientBrush(MinBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgb1SS, MinBtn); }
- G.DrawEllipse(Pens.DimGray, MinBtn);
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using (LinearGradientBrush lgbRR = new LinearGradientBrush(MaxBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgbRR, MaxBtn); }
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using (LinearGradientBrush lgbCC = new LinearGradientBrush(CloseBtn, ARGBC(255, 170, 136), ARGBC(243, 101, 26), 90)) { G.FillEllipse(lgbCC, CloseBtn); }
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- }
- break;
- default:
- using (LinearGradientBrush bga = new LinearGradientBrush(bgr, ARGBC(60, 59, 55), ARGBC(60, 59, 55), 90)) { G.FillPath(bga, Draw.RoundRectF(bgr, 10)); }
- using (LinearGradientBrush lgbb = new LinearGradientBrush(MinBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgbb, MinBtn); }
- G.DrawEllipse(Pens.DimGray, MinBtn);
- DStrF("0", ARGBC(58, 57, 53), new RectangleF((float)5.5, (float)6, (float)0, (float)0));
- using (LinearGradientBrush lgbc = new LinearGradientBrush(MaxBtn, ARGBC(152, 151, 146), ARGBC(56, 55, 51), 90)) { G.FillEllipse(lgbc, MaxBtn); }
- G.DrawEllipse(Pens.DimGray, MaxBtn);
- DStr("1", ARGBC(58, 57, 53), new Rectangle(26, 7, 0, 0));
- using (LinearGradientBrush lgbd = new LinearGradientBrush(CloseBtn, ARGBC(247, 150, 116), ARGBC(223, 81, 6), 90)) { G.FillEllipse(lgbd, CloseBtn); }
- G.DrawEllipse(Pens.DimGray, CloseBtn);
- DStr("r", ARGBC(58, 57, 53), new Rectangle(46, 7, 0, 0));
- break;
- }
- }
- protected override void Dispose(bool disposing)
- {
- if (disposing)
- {
- }
- base.Dispose(disposing);
- }
- }