نمودار گانت در#C
دوشنبه 30 شهریور 1394در این مقاله قصد داریم آموزشی درباره نحوه ایجاد نمودار گانت در سی شارپ و همچنین نحوه ذخیره فیزیکی نمودار بپردازیم.
نمودار گانت چیست و چه کاربردی دارد؟
نمودار گانت نوعی نمودار میله ای است که برنامه زمانبندی پروژه را نشان میدهد. گانت چارت وسیلهای مفید برای برنامهریزی و زمانبندی پروژهها میباشد.
برای شروع یک پروژه از نوع winform ایجاد میکنیم
در این مقاله قصد داریم در سه سطر مختلف نمودار را نشان دهیم و همچنین با کلیک راست کردن بر روی هر کدام از نمودار ها ، آن نمودار به صورت تصویر دخیره شود.
برای شروع از toolBox یک tableLayoutPanel برای ایجاد سه سطر کردن نمودار انتخاب میکنیم
سپس در متد load فرم ،کد های زیر را برای ایجاد نمودار در سه سطر مینویسیم این کد های متیواند به صورت داینامیک از بانک اطلاعاتی هم خوانده شود
ganttChart1 = new GanttChart(); ganttChart1.AllowChange = false; ganttChart1.Dock = DockStyle.Fill; ganttChart1.FromDate = new DateTime(2015, 12, 12, 0, 0, 0); ganttChart1.ToDate = new DateTime(2015, 12, 24, 0, 0, 0); tableLayoutPanel1.Controls.Add(ganttChart1, 0, 1); ganttChart1.MouseMove += new MouseEventHandler(ganttChart1.GanttChart_MouseMove); ganttChart1.MouseMove += new MouseEventHandler(GanttChart1_MouseMove); ganttChart1.MouseDragged += new MouseEventHandler(ganttChart1.GanttChart_MouseDragged); ganttChart1.MouseLeave += new EventHandler(ganttChart1.GanttChart_MouseLeave); ganttChart1.ContextMenuStrip = ContextMenuGanttChart1; List<BarInformation> lst1 = new List<BarInformation>(); lst1.Add(new BarInformation("Row 1", new DateTime(2015, 12, 12), new DateTime(2015, 12, 16), Color.Aqua, Color.Khaki, 0)); lst1.Add(new BarInformation("Row 2", new DateTime(2015, 12, 13), new DateTime(2015, 12, 20), Color.AliceBlue, Color.Khaki, 1)); lst1.Add(new BarInformation("Row 3", new DateTime(2015, 12, 14), new DateTime(2015, 12, 24), Color.Violet, Color.Khaki, 2)); lst1.Add(new BarInformation("Row 2", new DateTime(2015, 12, 21), new DateTime(2015, 12, 22, 12, 0, 0), Color.Yellow, Color.Khaki, 1)); lst1.Add(new BarInformation("Row 1", new DateTime(2015, 12, 17), new DateTime(2015, 12, 24), Color.LawnGreen, Color.Khaki, 0)); foreach (BarInformation bar in lst1) { ganttChart1.AddChartBar (bar.RowText, bar, bar.FromTime, bar.ToTime, bar.Color, bar.HoverColor, bar.Index); }
حال از برنامه اجرا بگیرید
حال برای آن که کابر با راست کلیک کردن روی هر کدام از نمودار ها بتواند تصویری از آن نمودار را داشته باشد کافی است کد زیر را بنویسیم
private void SaveImage(Control control) { GanttChart gantt = control as GanttChart; string filePath = Interaction.InputBox("آیا عکس را ذخیره کنم", "ذخیره تصویر", "C:\\Temp\\GanttChartTester.jpg"); if (filePath.Length == 0) return; gantt.SaveImage(filePath); Interaction.MsgBox("عکس با موفقیت ذخیره شد ", MsgBoxStyle.Information); }
فقط این نکته را خاطر نشان کنیم که برای آن که تصویر ذخیره شود باید این مسیر را داشته باشید .
C:\\Temp\\GanttChartTester.jpg
موفق باشید
- C#.net
- 3k بازدید
- 2 تشکر