zoukankan      html  css  js  c++  java
  • WinForm绘制带有升序、降序的柱形图

     private void HuiZhiTu( string strPaiXu)
            {
                //初始数据
                int[] nums = { 150, 89, 200, 60, 70, 90 };
                if (strPaiXu == "升序")
                {
                    //冒泡排序
                    for (int i = 0; i < nums.Length; i++)
                    {
                        for (int j = 0; j < nums.Length-1; j++)
                        {
                            if (nums[i] > nums[j])
                            {
                                int temp = nums[i];
                                nums[i] = nums[j];
                                nums[j] = temp;
                            }
                        }
                    }
                    
                }
                else if (strPaiXu == "降序")
                {
                    //冒泡排序
                    for (int i = 0; i < nums.Length; i++)
                    {
                        for (int j = 0; j < nums.Length-1; j++)
                        {
                            if (nums[i] < nums[j])
                            {
                                int temp = nums[i];
                                nums[i] = nums[j];
                                nums[j] = temp;
                            }
                        }
                    }
                }
                else
                {
                    //正常的顺序
                }
                label1.Text = strPaiXu;
                //创建画布
                int panHeight = this.panel1.Height;
                int panWight = this.panel1.Width;
                Bitmap bitM = new Bitmap(panWight, panHeight);
                Graphics g = Graphics.FromImage(bitM);
                g.Clear(Color.White);
                //绘制横向线条
    
                for (int i = 0; i < 5; i++)
                {
                    g.DrawString(i * 50 + "", new Font("宋体", 10, FontStyle.Regular), new SolidBrush(Color.Black), 20, 50 * (5 - i) - 7);
                    g.DrawLine(new Pen(Color.Red), 50, 50 * i + 50, 500, 50 * i + 50);
                }
                //绘制纵向线条
                g.DrawLine(new Pen(Color.Red), 50, 0, 50, 250);
    
                //填充数据
                for (int i = 0; i < nums.Length; i++)
                {
                    g.FillRectangle(new SolidBrush(Color.Red), 50 * i + 80, 250 - nums[i], 40, nums[i]);
                }
    
    
                this.panel1.BackgroundImage = bitM;
            }
    
            private void btn_HuiZhi_Click(object sender, EventArgs e)
            {
                HuiZhiTu("正常顺序");
            }
    
            private void btn_ShengXu_Click(object sender, EventArgs e)
            {
                HuiZhiTu("升序");
            }
    
            private void btn_JiangXu_Click(object sender, EventArgs e)
            {
                HuiZhiTu("降序");
            }
  • 相关阅读:
    ASP.NET AJAX Beta 1 发布 (转载)
    ASP.NET里常用的JS (转贴)
    让您的Ajax应用加载数据时界面友好 (转贴)
    模态窗口 javascript html
    最亲密接触Dhtml&JScript开发细节 (转贴)
    Hashtable的使用
    2009年全国年节及纪念日放假办法
    详解.NET中的动态编译
    CSS2.0样式手册_说明_SDK下载chm
    [转]DISTINCT 和 ORDER BY 使用第三个字段进行排序
  • 原文地址:https://www.cnblogs.com/zyadmin/p/8416793.html
Copyright © 2011-2022 走看看