void DrawNumber(Graphics g) { int x = 0; int add = 0; if (Nr.Contains(",")) { add = 89; } for (int i = 0; i < NumberOfDisplays; i++) { int dif = NumberOfDisplays - Nr.Length; if (i >= dif) { Number = Nr[i - dif]; if (Number.Equals(',')) { ColDot = ColOn; x = 1; } else { ColDot = ColOff; } SetSegmentsColors(Number); DrawSegHor(ColA, g, 17 + (i - x) * 89 + add, 14); DrawSegVer(ColC, g, 79 + (i - x) * 89 + add, 75); DrawSegVer(ColB, g, 79 + (i - x) * 89 + add, 15); DrawSegHor(ColD, g, 17 + (i - x) * 89 + add, 135); DrawSegVer(ColE, g, 15 + (i - x) * 89 + add, 75); DrawSegVer(ColF, g, 15 + (i - x) * 89 + add, 15); DrawSegHor(ColG, g, 17 + (i - x) * 89 + add, 75); DrawDot(ColDot, g, 86 + (i - x) * 89 + add, 130); } else { DrawSegHor(ColOff, g, 17 + i * 89 + add, 14); DrawSegVer(ColOff, g, 79 + i * 89 + add, 75); DrawSegVer(ColOff, g, 79 + i * 89 + add, 15); DrawSegHor(ColOff, g, 17 + i * 89 + add, 135); DrawSegVer(ColOff, g, 15 + i * 89 + add, 75); DrawSegVer(ColOff, g, 15 + i * 89 + add, 15); DrawSegHor(ColOff, g, 17 + i * 89 + add, 75); DrawDot(ColOff, g, 86 + i * 89 + add, 130); } } }
private void _7segment_Paint(object sender, PaintEventArgs e) { this.Size = new Size(NumberOfDisplays * 89 + 14, 150); Error = false; Graphics g = e.Graphics; ErrorCheck(); if (Error) { OnErrorDo(g); } else { DrawNumber(g); } if (Nr.Contains(",")) { DoIfContainsDot(g); } }