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- ...
随机推荐
- iOS中生成随机的UUID
+ (NSString *)uuidString { CFUUIDRef uuid_ref = CFUUIDCreate(NULL); CFStringRef uuid_string_ref= CFU ...
- C#-MVC基础-模型(Model)、视图(View)和控制器(Controller)
搜狗百科:http://baike.sogou.com/v25227.htm?fromTitle=MVC MVC全名是Model View Controller,是软件工程中的一种软件架构模式,把软件 ...
- canvas+js+面向对象的矩形封装
效果: Rect.js /* 1. 封装属性: x, y w , h, fillStyle strokeStyle rotation opacity 2.render */ function Rect ...
- Web安全篇之SQL注入攻击
在网上找了一篇关于sql注入的解释文章,还有很多技术,走马观花吧 文章来源:http://www.2cto.com/article/201310/250877.html ps:直接copy,格式有点问 ...
- mysql工具——perror(mysql错误代码,查看错误号释义)
mysql工具——perror(mysql查看错误代码,查看错误号释义) 关键词:mysql错误代码,mysql错误号,perror
- [Alpha]Scrum Meeting#10
github 本次会议项目由PM召开,时间为4月13日晚上10点30分 时长25分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写每日例会报告撰写并整理任务分配博客 撰写每日例会报告配合测试.验收 ...
- LCS and LIS
LCS #include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m; char s[1005],t ...
- value power two
/** *topPower2 use to set unsigned int to power of two *@param value input value *@return return the ...
- php 使用 rabbitmq
1,配置好rabbitmq 服务器 (参照 http://www.cnblogs.com/spicy/p/7017603.html)(我是linux) 2,新增了一个用户 并点击该用户 增加权限如下
- Spring MVC 使用kaptcha生成验证码
Spring MVC 使用kaptcha生成验证码 1.下载kaptcha-2.3.2.jar(或直接通过该文章附件下载) http://code.google.com/p/kaptcha/downl ...