I'm shooting blind when it comes to coding I'm reading and coding a lot but no one ever looks at my code so it wold be good if someone could look over the project at github and see if I have any major design issues or other bad practice issues that I must work on.The Github project is here: https://github.com/glennwiz/SupportToolThe files I am most interested in are the following:DrawController.csusing System.Drawing;using System.Windows.Forms;namespace ServiceTool{    public class DrawController    {        private PictureBox _drawbox;        private Bitmap _drawArea;        public void SetupDrawArea(PictureBox drawbox,Bitmap drawArea)        {            _drawbox = drawbox;            _drawArea = drawArea;            Graphics graphics = Graphics.FromImage(_drawArea);            var pen = new Pen(Brushes.Black, 12f);            graphics.Clear(Color.LightGray);            graphics.DrawRectangle(pen, 0, 0, drawbox.Width, drawbox.Height);            graphics.Dispose();        }        public bool GetDrawData(int numberMonitor, PictureBox pb, out int locationY, out int locationX, out int width, out int height)        {            bool ismain = false;            width = PcDataCollector.GetMonitordesktopResolution(numberMonitor, x) / 10;            height = PcDataCollector.GetMonitordesktopResolution(numberMonitor, y) / 10;            locationX = PcDataCollector.GetLocation(numberMonitor) / 10 + (pb.Width / 2 - (width / 2));            locationY = (pb.Height / 2) - height / 2;            int nuMain = PcDataCollector.GetMainMonitor();            if (nuMain == numberMonitor)                ismain = true;            return ismain;        }        public void DrawTextAndMonitors(int numberMonitor)        {            var mypen = new Pen(Color.FromArgb(255, 29, 46, 196), 4f);            Draw(numberMonitor, mypen);        }        public void DrawSelectedMonitor(int numberMonitor)        {            var mypen = new Pen(Color.FromArgb(255, 193, 26, 26), 2f);            Draw(numberMonitor, mypen);        }        private void Draw(int numberMonitor, Pen mypen)        {            int locationY, locationX;            int width, height;            var isMain = GetDrawData(numberMonitor, _drawbox, out locationY, out locationX, out width, out height);            Graphics graphics = Graphics.FromImage(_drawArea);            DrawMonitors(width, height, locationX, locationY, graphics, mypen, DrawClass.DrawMonitors);            // only draw text if in Running mode.            if (ModeController.mode == Mode.Run)            {                WriteTextForBoxes(numberMonitor, graphics, locationY, isMain, width, locationX, height);            }            graphics.Dispose();            _drawbox.Invalidate();        }        private void WriteTextForBoxes(int numberMonitor, Graphics graphics, int locationY, bool ismain, int width,                                               int locationX, int height)        {            string xWidth = string.Format({0}, width * 10);            string yHeigth = string.Format({0}, height * 10);            DrawText(locationX, locationY, ismain, graphics, string.Format(Monitor {0}, numberMonitor + 1), DrawClass.DrawMainText);            DrawText(locationX + width / 2 - (xWidth.Length * 3), locationY + height - 18, false, graphics, xWidth, DrawClass.DrawResText);            DrawText(locationX, locationY + height / 2 - yHeigth.Length * 3, false, graphics, yHeigth, DrawClass.DrawResVerticalText);        }        public void DrawMonitors(int width, int height, int locationX, int locationY, Graphics graphics, Pen mypen, DrawClass.ScreenDrawDelegate screenDrawDelegate)        {            screenDrawDelegate(width, height, locationX, locationY, mypen, graphics);        }        private void DrawText(int locationX, int locationY, bool isMain, Graphics graphics, string monitorString, DrawClass.TextDrawDelegate textDrawDelegate)        {            textDrawDelegate(locationX, locationY, isMain, graphics, monitorString);        }    }}DrawClass.csusing System.Drawing;namespace ServiceTool{    static public class DrawClass    {        static readonly Font Fontlarge = new Font(Georgia, 14);        static readonly Font Fontmedium = new Font(Georgia, 10);        static readonly Font Fontsmall = new Font(Georgia, 8);        public delegate void TextDrawDelegate(int locationX, int locationY, bool ismain, Graphics g, string monitorString);        public delegate void ScreenDrawDelegate(int width, int height, int locationX, int locationY, Pen mypen, Graphics g);        #region TextDrawLogic        public static void DrawMainText(int locationX, int locationY, bool ismain, Graphics g, string monitorString)        {            g.DrawString(monitorString, Fontlarge , Brushes.Black, locationX + 2, locationY + 2);            if (ismain)                g.DrawString(Main Monitor, Fontmedium, Brushes.Black, locationX + 2, locationY + 20);        }        public static void DrawResText(int locationX, int locationY, bool ismain, Graphics g, string res)        {            g.DrawString(res, Fontsmall, Brushes.Black, locationX, locationY);        }        public static void DrawResVerticalText(int locationX, int locationY, bool ismain, Graphics g, string res)        {            var drawFormat = new StringFormat();            drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;            g.DrawString(res, Fontsmall, Brushes.Black, locationX, locationY, drawFormat);        }        #endregion        public static void DrawMonitors(int width, int height, int locationX, int locationY, Pen mypen, Graphics g)        {            g.DrawRectangle(mypen, locationX, locationY, width - 6, height);        }    }}
Does my drawing tool have design issues?
c#