C#计时器和比赛简易打分winform

vs2013 +C#开发的演讲比赛简易打分系统, 可以实现录入选手名称 和评委分数,去掉最高分和最低分后求平均值 然后减去扣分,得到汇总分数.

下面附带"走马灯"字幕滚动和计时器功能.

功能很简单,附上源码,仅供参考,欢迎交流.

FORM1 控件截图

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

//打分及排名

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)

{

Dictionary<int, double> dic = new Dictionary<int, double>();

if (e.ColumnIndex > 0 && e.ColumnIndex < 12)

{

for (int i = 0; i < dataGridView1.Rows[e.RowIndex].Cells.Count; i++)

{

if (i == 0)

{ }

else if (i == 12 || i == 11)

{

}

else

{

if (dataGridView1.Rows[e.RowIndex].Cells[i].Value != null)

{

string str = dataGridView1.Rows[e.RowIndex].Cells[i].Value.ToString();

double d;

if (double.TryParse(str, out d))

{

dic.Add(i, d);

}

else

{

dic.Add(i, 0);

}

}

else

{

dic.Add(i, 0);

}

}

}

double total = 0;

foreach (int key in dic.Keys)

{

total += dic[key];

}

if (this.dataGridView1.Rows[e.RowIndex].Cells[11].Value != null)

{

double d1;

if (double.TryParse(this.dataGridView1.Rows[e.RowIndex].Cells[11].Value.ToString(), out d1))

{

this.dataGridView1.Rows[e.RowIndex].Cells[12].Value = ((total - dic.Values.Max() - dic.Values.Min()) / 8) - d1;

}

else

{

this.dataGridView1.Rows[e.RowIndex].Cells[12].Value = ((total - dic.Values.Max() - dic.Values.Min()) / 8) - 0;

}

}

else

{

this.dataGridView1.Rows[e.RowIndex].Cells[12].Value = ((total - dic.Values.Max() - dic.Values.Min()) / 8) - 0;

}

}

}

//下面为计时加字幕滚动功能

private int t = 0;

public string GetAllTime(int time)

{

string mm, ss, fff;

int f = time % 60;//s

int s = time / 60;

int m = s / 60; //分

s = s % 60;//秒

if (f < 10)

{

fff = "0" + f.ToString();

}

else

{

fff = f.ToString();

}

//秒格式00

if (s < 10)

{

ss = "0" + s.ToString();

}

else

{

ss = s.ToString();

}

//分格式00

if (m < 10)

{

mm = "0" + m.ToString();

}

else

{

mm = m.ToString();

}

//返回 hh:mm:ss.ff

return mm + ":" + ss + ":" + fff;

}

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)

{

}

private void btnstar_Click(object sender, EventArgs e)

{

if (timer1.Enabled == false)

{

this.btnstar.Text = "暂停计时";

this.timer1.Enabled = true;

}

else {

this.btnstar.Text = "开始计时";

this.timer1.Enabled = false;

}

}

private void timer1_Tick(object sender, EventArgs e)

{

t = t + 1;

this.textBox1.Text = GetAllTime(t);

}

private void btnclear_Click(object sender, EventArgs e)

{

t = 0;

//如果正在计时,则先停止再清零,否则直接清零

if (this.timer1.Enabled == true)

{

this.btnstar_Click(sender, e);

textBox1.Text = GetAllTime(t);

}

else

{

textBox1.Text = GetAllTime(t);

}

}

private void timer2_Tick(object sender, EventArgs e)

{

string tt = textBox2.Text;

string tt1 = tt.Substring(1);

string tt2 = tt1 + tt[0];

textBox2.Text = tt2;

//dataGridView1.CurrentCell.Value

}

private void button1_Click(object sender, EventArgs e)

{

if(timer2.Enabled==true)

{

button1.Text = "开始滚动字幕";

timer2.Enabled = false;

}

else

{

button1.Text = "暂停滚动字幕";

timer2.Enabled = true;

}

}

}

}

C#计时器和比赛简易打分winform

时间: 2024-10-10 07:19:39

C#计时器和比赛简易打分winform的相关文章

比赛现场打分管理平台概述

平台名称:比赛现场打分管理平台V5 主要应用于文艺比赛.演讲比赛.才艺比赛展示.歌咏比赛.模特比赛.艺术考试.干部评议等需要评委现场打分的场合. 经济实惠:由于专门的比赛打分器使用次数很少,专门配备不但成本高,而且现场调试麻烦.而平板电脑或手机现在已经很普及,只需在现场架设Wifi,PC台式机和其相连,同时在管理PC机中装上管理软件,就可以完成一场专业的打分任务. 具体方案:http://www.exesoft.cn/solution/show/soft128.aspx 它包括两个部分: 1.A

C# 报表设计器 (winform 设计端)开发与实现生成网页的HTML报表 开放源码及调试

记得2010年之前,公司的项目基本上都要用到报表,以前我们常用的方法就是针对客户的需求来定制化开发(基本上是死写代码)来实现,经常导致项目经常性的延期,因为客户的需求经常会变化,随着用户的使用认知度的提高,对报表的要求越来越高,导致程序员不停的修改代码来实现,效率不高.结束遥遥无期...非常的痛苦:当然市面上有很多报表开发工具可以实现,但是针对小公司来说采购一套这样的系统的成本也非常的高,所以我们决定自己来开发一套像目前的润乾.FineReport 这样的报表设计器,来实现快速的报表设计制作.

篮球传奇辅助工具分享(一)

前言 之前玩一款篮球经营类的网页游戏,每天花费不少时间去训练球员和打比赛,后来想到干脆自己做个简易的winform程序,用来自动训练球员,打比赛之类的,还可以温习下相关技术,一举两得. 关键技术点 模拟登陆 验证码识别 主要工作量 主要就是抓取html代码,分析网页代码,找出相应功能点对应url地址和参数信息: 设计编码实现辅助工具界面端功能: 界面实现截图 界面组成主要分为显示区域和控制区域2部分,显示区域主要是登陆账号的球员训练信息和操作日志信息,控制区域就是账号登陆控制和功能参数控制内容.

Android 开发第六弹:简易时钟(计时器)

接上篇Android 开发第五弹:简易时钟(闹钟) ,这次是一个时钟类应用,目前依旧是主要的功能,长得还是很挫.当然了,核心功能是有的-- 时钟 先把简单的时钟给列出来吧,这里都写的很简单,即便要用世界各个城市的话,也只是相应的加上或减去几个小时. 新建TimeView类,并扩展自LinearLayout,然后布局文件和上一篇中那么写就好了. <myapplication.nomasp.com.clock.TimeView android : id = "@+id/tabTime"

Winform开发框架之简易工作流设计(转自 伍华聪博客)

Winform开发框架之简易工作流设计 一讲到工作流,很多人第一反应就是这个东西很深奥,有时候又觉得离我们较为遥远,确实完善的工作流设计很多方面,而正是由于需要兼顾很多方面,一般通用的工作流都难做到尽善尽美.微软也提供了几个版本的WF框架支持,也有一些厂家是基于这个框架基础上开发的工作流应用. 以前由于项目的需要,参与过一些工作流的项目开发,其中有些是基于我简易工作流的原理上进行拓展的,包括一个广州市各区县使用的行业审批业务平台,由于基于自己的流程处理,界面设计.流程流转等方面可以很好符合客户需

Winform Windows Media Player 简易播放器

新手上路,高手勿进! 窗体设计: 实现效果: 实现代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using Sy

基于C# Winform的简易聊天程序[第一篇-两端通信]

程序简介 本聊天程序支持局域网内部客户端与服务端之间的互相通信. 原理 启动服务端后,服务端通过持续监听客户端发来的请求,一旦监听到客户端传来的信息后,两端便可以互发信息了.服务端需要绑定一个IP,用于客户端在网络中寻找并建立连接.信息发送原理:将手动输入字符串信息转换成机器可以识别的字节数组,然后调用套接字的Send()方法将字节数组发送出去.信息接收原理:调用套接字的Receive()方法,获取对端传来的字节数组,然后将其转换成人可以读懂的字符串信息. 界面设计 - 服务端 IP文本框 na

简易计时器

这个简易计时器,实现了简单的计时,点击开始按钮开始计时,点击停止按钮就停止,屏幕现实开始到停止的时间差.在run()方法里已换算成时分秒. 代码仅供参考: strings.xml <string name="app_name">计时器</string> <string name="text_time">00:00</string> <string name="button_start">

2016电子设计比赛【简易电子秤】的设计

文:  小波/QQ463431476 今年暑假参加了电子设计比赛,4天3夜(2016/7/25---7/29)选了个电子秤,所以想说说一点心得分享一下.秤可以测量,用了滤波和一个线性的方程. 硬件部分主要焊接4个电阻应变片搭建一个全桥电路,然后经过放大器,将电压信号放大,HX711拥有一个24位 AD    来采集电压值,经过数字量与重量值得转换(拟合方程) ,得到最终的真实重量值. 介绍一下电阻应变片,就是可以发生形变的电阻,电阻值改变电压或者电流就可以改变.(图一) (图一电阻应变片) 然后