zoukankan      html  css  js  c++  java
  • WinFrom饼形图

    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;
    
    using System.Data.SqlClient;
    using System.Drawing.Drawing2D;
    namespace MyFillPie
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            SqlConnection conn;     //声明一个connection变量
    
            private void Form1_Paint(object sender, PaintEventArgs e)
            {
                //连接SQLserver数据库
                conn = new SqlConnection("server=.;database=AssetSys;uid=sa;pwd=sa");
                conn.Open();
                string str2 = string.Format("select SUM(tp) from tb_vote");
                SqlCommand cmd=new SqlCommand (str2,conn);
                int sum = Convert.ToInt32(cmd.ExecuteScalar());
                SqlDataAdapter sda = new SqlDataAdapter("select * from tb_vote",conn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
    
                int man20and25 = Convert.ToInt32(ds.Tables[0].Rows[0][2].ToString());
                int man26and30 = Convert.ToInt32(ds.Tables[0].Rows[1][2].ToString());
                int man31and40 = Convert.ToInt32(ds.Tables[0].Rows[2][2].ToString());
                int width = 400, height = 450;
                Bitmap bitmap = new Bitmap(width, height);
                Graphics g = Graphics.FromImage(bitmap);
    
                try
                {
                     g.Clear(Color.White); //使用Clear方法使画布变成白色
                     Pen pen = new Pen(Color.Red);
                    //创建4个Brush对象,用于填充颜色
                    Brush brush1 = new SolidBrush(Color.PowderBlue);
                    Brush brush2 = new SolidBrush(Color.Blue);
                    Brush brush3 = new SolidBrush(Color.Wheat);
                    Brush brush4 = new SolidBrush(Color.Orange);
                    Font f1 = new Font("Courier New", 16, FontStyle.Bold);
                    Font f2 = new Font("Courier New", 8);
    
                    g.FillRectangle(brush1, 0, 0, width, height);   //绘制背景图
                    g.DrawString("点赞比例", f1, brush2, new Point(80, 20)); //绘制标题
    
                    int piex = 100, piey = 60, piew = 200, pieh = 200;
    
                    float age1 = Convert.ToSingle((360/Convert.ToSingle(sum))*man20and25);
                    float age2 = Convert.ToSingle((360 / Convert.ToSingle(sum)) * man26and30);
                    float age3 = Convert.ToSingle((360 / Convert.ToSingle(sum)) * man31and40);
                    g.FillPie(brush2,piex,piey,piew,pieh,0,age1);
                    g.FillPie(brush3, piex, piey, piew, pieh, age1,age2);
                    g.FillPie(brush4, piex, piey, piew, pieh, age1+age2,age3);
    
                    g.DrawRectangle(pen,50,300,310,130);
                    g.FillRectangle(brush2,90,320,20,10);
                    g.DrawString("点赞比例1:" + Convert.ToSingle(man20and25) * 100 / sum + "%", f2, brush2, 120, 320);
                    g.FillRectangle(brush3, 90, 360, 20, 10);
                    g.DrawString("点赞比例2:" + Convert.ToSingle(man26and30) * 100 / sum + "%", f2, brush2, 120, 360);
                    g.FillRectangle(brush4, 90, 400, 20, 10);
                    g.DrawString("点赞比例3:" + Convert.ToSingle(man31and40) * 100 / sum + "%", f2, brush2, 120, 400);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                pictureBox1.Image = bitmap;
            }
        }
    }

    T-SQL:

    USE [AssetSys]
    GO
     
    /****** Object:  Table [dbo].[tb_vote]    Script Date: 2018/10/27 9:12:00 ******/
    SET ANSI_NULLS ON
    GO
     
    SET QUOTED_IDENTIFIER ON
    GO
     
    CREATE TABLE [dbo].[tb_vote](
        [Id] [int] IDENTITY(1,1) NOT NULL,
        [Name] [nvarchar](50) NOT NULL,
        [TP] [int] NOT NULL,
        [CreateTime] [datetime] NOT NULL,
        [Remake] [nvarchar](50) NOT NULL,
        [State] [int] NOT NULL,
        [Sort] [int] NOT NULL,
     CONSTRAINT [PK_tb_vote] PRIMARY KEY CLUSTERED
    (
        [Id] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    ALTER TABLE [dbo].[tb_vote] ADD  CONSTRAINT [DF_tb_vote_CreateTime]  DEFAULT (getdate()) FOR [CreateTime]
    GO
    

      

    生命中最值得欣慰的,莫过于一觉醒来,你还在身旁
  • 相关阅读:
    PHP加密解密函数
    动态生成的dom元素如何绑定事件
    Delphi水晶横向竖向打印
    Delphi关键词
    Laravel进行数据库迁移(migration)
    如何开始使用Laravel
    PHP基础之如何调试PHP程序(HBuilder)
    PHP基础之搭建WAMP环境
    一些面试题
    进程管理
  • 原文地址:https://www.cnblogs.com/chaonuanxi/p/9860471.html
Copyright © 2011-2022 走看看