程序未绘制图形

时间:2019-05-07 08:32:46

标签: c#

我一直按照作业说明进行操作,看不到代码有任何问题(没有错误消息,程序运行时没有崩溃),但是程序未绘制图形。它应该在1-100之间随机抽取200个随机数,然后使用冒泡排序将其分类为图形

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp6
{
    public partial class Form1 : Form
    {
        int[] number = new int[200];
        Random generator = new Random();

        public Form1()
        {
            InitializeComponent();
        }

        private void btnGenerate_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < number.Length; i++)
            {
                number[i] = generator.Next(1, 101);
            }
            Invalidate();
        }

        private void btnSort_Click(object sender, EventArgs e)
        {
            BubbleSort(number);
            Invalidate();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            //Assigns origo
            Point origo = new Point(40,150);

            //Draw x and y axes
            e.Graphics.DrawLine(Pens.Black, origo.X, origo.Y, origo.X, origo.Y - 100);
            e.Graphics.DrawLine(Pens.Black, origo.X, origo.Y, origo.X + 200, origo.Y);

            //Draw all points
            for(int i = 0; i < number.Length; i++)
            {
                e.Graphics.FillEllipse(Brushes.Red, origo.X + i, origo.Y - number[i], 2, 2);
            }
        }

        public void BubbleSort(int[] list)
        {
            for (int m = list.Length - 1; m > 0; m--)
            {
                for (int n = 0; n < m; n++)
                {
                    if (list[n] > list[n + 1])
                    {
                        int temp = list[n];
                        list[n] = list[n + 1];
                        list[n + 1] = temp;
                    }
                }
            }
        }
    }
}

当您按下“生成”按钮时,该程序应绘制200个点,然后在您按下“排序”时将它们分类为线/图形,但是当我按下按钮时,该程序没有绘制任何内容。

0 个答案:

没有答案