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[].Rows[][].ToString());
int man26and30 = Convert.ToInt32(ds.Tables[].Rows[][].ToString());
int man31and40 = Convert.ToInt32(ds.Tables[].Rows[][].ToString());
int width = , height = ;
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", , FontStyle.Bold);
Font f2 = new Font("Courier New", ); g.FillRectangle(brush1, , , width, height); //绘制背景图
g.DrawString("点赞比例", f1, brush2, new Point(, )); //绘制标题 int piex = , piey = , piew = , pieh = ; float age1 = Convert.ToSingle((/Convert.ToSingle(sum))*man20and25);
float age2 = Convert.ToSingle(( / Convert.ToSingle(sum)) * man26and30);
float age3 = Convert.ToSingle(( / Convert.ToSingle(sum)) * man31and40);
g.FillPie(brush2,piex,piey,piew,pieh,,age1);
g.FillPie(brush3, piex, piey, piew, pieh, age1,age2);
g.FillPie(brush4, piex, piey, piew, pieh, age1+age2,age3); g.DrawRectangle(pen,,,,);
g.FillRectangle(brush2,,,,);
g.DrawString("点赞比例1:" + Convert.ToSingle(man20and25) * / sum + "%", f2, brush2, , );
g.FillRectangle(brush3, , , , );
g.DrawString("点赞比例2:" + Convert.ToSingle(man26and30) * / sum + "%", f2, brush2, , );
g.FillRectangle(brush4, , , , );
g.DrawString("点赞比例3:" + Convert.ToSingle(man31and40) * / sum + "%", f2, brush2, , );
}
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

WinFrom饼形图的更多相关文章
- winfrom 隐藏任务栏(win7)
1:新建winfrom 窗体应用程序 2:拖入contextMenuStrip.notifyIcon 2个控件 3:如图 4:code: 注意:复制控件事件要注册 using System; usin ...
- winfrom 文字滚动
winfrom 文字滚动 http://www.codeproject.com/Articles/6913/Creating-a-professional-looking-GDI-drawn-cust ...
- Web API应用架构在Winform混合框架中的应用(3)--Winfrom界面调用WebAPI的过程分解
最近一直在整合WebAPI.Winform界面.手机短信.微信公众号.企业号等功能,希望把它构建成一个大的应用平台,把我所有的产品线完美连接起来,同时也在探索.攻克更多的技术问题,并抽空写写博客,把相 ...
- C# Winfrom 页面传值
2个窗体 Parent,Children 代码: Parent public partial class Parent : Form { public string parentValue = &qu ...
- WinFrom 登录窗体 密码保存效果
WinFrom 登录窗体 保存密码效果 开发CS程序的程序员都会遇到 今天突然想把这个功能加到我的项目中 之后总结下 不多说 上图 如果关闭程序 下次在登录的时候 用户名.密码会自动保留下来 一 ...
- BackgroundWorker实现的winfrom中实现异步等待加载图片显示
BackgroundWorker简介 BackgroundWorker在winfrom中有对应控件,该有三个事件:DoWork .ProgressChanged 和 RunWorkerCompl ...
- Winfrom中ListBox绑定List数据源更新问题
Winfrom中ListBox绑定List数据源更新问题 摘自:http://xiaocai.info/2010/09/winform-listbox-datasource-update/ Winfr ...
- 笔记6:winfrom连接sql server 进行数据交换
今天的作业是用winfrom窗体做一个留言板,如图: 要求和数据库有查询和添加功能.下拉框里的值是直接获取数据库中的值 一.连接数据库,获取表中数据 //创建一个存数据的表 DataTable tab ...
- ***百度统计图表Echarts的php实现类,支持柱形图、线形图、饼形图
/** * 百度数据统计图表echart的PHP实现类 * * 原作者: * @author: chenliujin <liujin.chen@qq.com> * @since 2013- ...
随机推荐
- Cocoa对象——根类
[转载自:http://mobile.51cto.com/iphone-274229.htm] Cocoa对象 根类是本文要介绍的内容,仅凭Objective-C语言和运行环境并不足以构造哪怕是最简单 ...
- linux下安装gcc详解
1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...
- 《Implementing QuantLib》译后记
目录 <Implementing QuantLib>译后记 初心 瞎忙 收获 彩蛋 展望 就在几天之前,经历了一年时间断断续续的坚持,<Implementing QuantLib&g ...
- QuantLib 金融计算——数学工具之随机数发生器
目录 QuantLib 金融计算--数学工具之随机数发生器 概述 伪随机数 正态分布(伪)随机数 拟随机数 HaltonRsg SobolRsg 两类随机数的收敛性比较 如果未做特别说明,文中的程序都 ...
- python连接,操作 InfluxDB
准备工作 启动服务器 执行如下命令: service influxdb start 示例如下: [root@localhost ~]# service influxdb start Starting ...
- Ubuntu16.04安装视觉SLAM环境(DBow3)
1.从Github上现在DBow3词袋模型库 git clone https://github.com/rmsalinas/DBow3.git 2.开始安装DBow3库,进入DBow3目录 mkdir ...
- elasticsearch 基础笔记
基础: 1.查看 所有节点,及版本 http://192.168.18.7:9200/_nodes/_all/version?pretty=true
- Kali/Ubuntu无法和物理机之间复制粘贴解决办法
Vmware安装Linux,传统的vmtools已经被抛弃,当前建议使用Open-VM-tools 安装Open-VM-tools//Kali,Ubuntu: sudo apt install Ope ...
- 2019.4.25 表格表单与HTML5 && CSS3
目录 表格 标签 属性 表格间距离 表格的内边距 表格的边框 样式 边框合并 行合并 列合并 display 表单 标签 属性 提交的网址 请求方式 input相关 扩大响应范围 字符 密码 单选框 ...
- 数学还勉强管用,用代码还能画个canvas 仪表盘(含完整代码)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...