使用winfrom制作KTV排行榜点歌
大家好!新来乍到 这是我CSDN的第一篇文章 还请大家多多关照 !
最近学习winfrom制作了一个KTV的排行榜点歌系统 整个过程是下来感受是倍感充实 很有成就感!前台排行榜点歌 是点击排行榜后通过系统后台数据库的数据 来查询所有的热歌 来显示出所有的热榜歌曲!
以上图片是成品样式
功能:1.点击下一页和上一页可以实现翻页效果 页面数字也会随着页数的点击而变化
2.下方按钮实现了 切歌 暂停 音量加减 播放MV 等功能
该页面所有功能主要分为两大类:
1.查询数据库中所有热门的歌曲 并显示才列表内
2.实现点歌功能 在播放的同事实现音量加减 切歌 暂停等功能
以下为详细步骤:
首先 在面板中拖动一个大的panel面板 在大panel面板中放入几个小的panel面板 并加上label和butten来显示歌名和点歌按钮
效果图:
这里我们插入了五个panel 首先则是要查询出共有多少条数据 然后就是要设定每一页五首歌曲 若
大于五首则跳转到下一页
//查询总条数public int QuerySongCount(){DBHelper.OpenConnection();string sql = "select count(*) from song_info";SqlCommand command = new SqlCommand(sql,DBHelper.Connection);int count = (int)command.ExecuteScalar();DBHelper.CloseConnection();return count;}//查询5条歌曲public void QuerySongList( int page){DataSet ds = new DataSet(); //临时仓库,数据集string sql = "select top 5 * from song_info";if(page>1){int start = (page - 1) * 5;sql += " where song_id not in (select top " + start + " song_id from song_info)";} SqlDataAdapter adapter = new SqlDataAdapter(sql, DBHelper.Connection);//放入结果集adapter.Fill(ds, "song");//获取dataset临时仓库的值DataTable dt = ds.Tables["song"];int i = 0;foreach (DataRow row in dt.Rows){string name = row["song_name"].ToString();string url = row["song_url"].ToString();//一行 的panelPanel p = this.panel1.Controls[i] as Panel;//找到一行的panel中的第一个小控件labelLabel l = p.Controls[1] as Label;l.Text = name; //歌曲名称赋值l.Tag = url;//Tag : 存放数据i++;}}
以上就是查询排行榜歌曲的数据
如此页并没有喜欢的歌曲 点击下一页按钮则进入下一页歌曲列表 点击上一页按钮则返回上一页
代码如下:
//下一页private void button8_Click(object sender, EventArgs e){//第几页string p= this.label6.Text;int page = Convert.ToInt32(p) + 1;this.label6.Text = page.ToString();//改变label//查询page页的内容 从第几条开始查(page-1)*5//查询列表QuerySongList(page);}//上一页private void button8_Click(object sender, EventArgs e){//第几页string p = this.label6.Text;int page = Convert.ToInt32(p) - 1;this.label6.Text = page.ToString();//改变label//查询page页的内容 从第几条开始查(page-1)*5//查询列表QuerySongList(page);}
下面将完成第二大步骤
实现 播放,暂停,音量加减,删除等功能
首先我们要先要把这几个功能的按钮拖出
1.播放
首先我们要把当前播放的第几首歌取值
设置判断 播放器状态改变事件 如果是end结束状态
设置判断 定时器:监控播放器的就绪状态,点击播放
代码如下:
//播放private void button6_Click(object sender, EventArgs e){Button btn = sender as Button;//把当前播放的第几首歌取值YiDian.curentPlay = (int)btn.Tag;//panel 行Label l = btn.Parent.Controls[3] as Label;//播放地址string url = l.Tag.ToString();this.axWindowsMediaPlayer1.URL = Application.StartupPath+ url;}//播放器状态改变事件private void axWindowsMediaPlayer1_StatusChange(object sender, EventArgs e){//如果是end结束状态if (this.axWindowsMediaPlayer1.playState ==WMPLib.WMPPlayState.wmppsMediaEnded){ //下一首this.axWindowsMediaPlayer1.URL = Application.StartupPath + YiDian.songList[YiDian.curentPlay+1].SongUrl;}}//定时器:监控播放器的就绪状态,点击播放private void timer1_Tick(object sender, EventArgs e){if (this.axWindowsMediaPlayer1.playState ==WMPLib.WMPPlayState.wmppsReady){ //播放this.axWindowsMediaPlayer1.Ctlcontrols.play();}}
2.暂停
点击暂停按钮歌曲暂停 再次点击则播放继续歌曲
代码如下
//暂停private void button21_Click(object sender, EventArgs e){Button btn = sender as Button;if (btn.Text == "暂停"){this.axWindowsMediaPlayer1.Ctlcontrols.pause();btn.Text = "播放";}else{this.axWindowsMediaPlayer1.Ctlcontrols.play();btn.Text = "暂停";}}
3.音量加减
点击音量+按钮歌曲音量加十分贝 点击音量-按钮歌曲音量减十分贝
代码如下:
//增大音量private void button22_Click(object sender, EventArgs e){int v = this.axWindowsMediaPlayer1.settings.volume;this.axWindowsMediaPlayer1.settings.volume = v + 10;}//减小音量private void button22_Click(object sender, EventArgs e){int v = this.axWindowsMediaPlayer1.settings.volume;this.axWindowsMediaPlayer1.settings.volume = v - 10;}
4.删除
如点击的歌曲不喜欢 点击删除按钮即可把歌曲删除
代码如下:
//删除private void button8_Click(object sender, EventArgs e){Button btn = sender as Button;int x = (int)btn.Tag;YiDian.songList.RemoveAt(x);//重新加载数据ShowYiDian();}
以上就是排行榜点歌的所有内容了 如需观看成品图请向上翻页
感谢观看,谢谢大家!
使用winfrom制作KTV排行榜点歌相关推荐
- 让音乐回归人性:用“语音+音乐”制作内容的“点歌台”让电台音乐节目另类重生
在这个机器年代,你想听到有故事的声音吗? 内容的产生和消费在记忆中绝不像现在轻而易举.多年前,如果你想听些身边没有的歌,该怎么做?身边没有朋友借你磁带或打口碟的情况下,点歌台.收音机里的"音 ...
- c# winfrom 制作的滚动字幕动画窗体
方法/步骤 先打开vs创建一个工程,创建一个窗体应用程序如下图: 从工具箱里向窗体添加lable和timer控件,并设置界面内容,如下图: 设置窗体的属性,如下图: 双击窗体添加Form1_Load事 ...
- 零云九歌小组KTV点歌系统简介
指导老师:穆老师 班主任:佟老师 小组成员: 组长:张炜林 副组长:李钰 组员:郑宪佳 宋翔 李兆勋 杜庆霖 零云九歌 目录: 1.首页 2.项目前台 3..项目后台 总结: 本次KTV项目总结. ...
- 亦云小组KTV点歌系统简介
20级青鸟四班 亦云小组 指导老师:穆老师 班主任:佟老师 小组成员: 组长:靳天宇 组员:王晓丹 谢佳泽 王睿志 蒲璐颖 张铨政 目录: 1.首页 2.项目前台 3..项目后台 总结: 本次KT ...
- 凌云KTV点歌系统功能简介
19级青鸟三班 凌云小组 指导老师:穆雄雄老师 班主任:王欣欣老师 小组成员: 组长:李磊 副组长:杨云浩 组员:高启航 朱齐 李欣然 高松 张方仪 王浩如 苏荟旭 贾增伟 制作周期:2020 ...
- .NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析)
.NET平台C/S架构应用程序开发核心技术总结(MyKTV点歌系统案例分析) 总结日期:2019年10月10日 ...
- KTV预定包厢酒柜存取酒小程序开发
KTV预定包厢酒柜存取酒小程序开发 预约包厢 选择时间,包间套餐:可在线上"KTV超市"购买商品:跳转该KTV的点歌小程序 首页// 却换门店 门店信息,店铺导航,联系商家.预约K ...
- 微信小游戏排行榜:Cocos Creator
上一篇文章介绍了主域和子域的概念,微信小游戏:主域子域,这一篇介绍一下怎样在微信小游戏中制作好友排行榜 创建工程 由于开放数据域是一个封闭.独立的 JavaScript 作用域,所以开发者需要创建两个 ...
- 2023年安装包制作工具有哪些?主流易用软件打包工具推荐
安装包制作软件的选择 现在已经是2023年了,PC软件相对于前几年已经少了很多,大部分的桌面软件已经被App H5代替,但是还是有一些领域的软件暂时无法被代替的,对于软件的发布就离不开今天要讨论的安装 ...
最新文章
- Windows服务器修改默认TTL值的方法
- 为什么要做稀疏编码_为什么我每天都要编码一年,所以我也学到了什么,以及如何做。...
- [大学回忆录-思想]找工作:也谈谈我的专业技能
- css3中的border-image用法
- 在存储过程中执行别的存储过程并获取其返回的结果集
- 鸿蒙形容欣欣向荣发展,形容发展迅速的12个成语
- 造梦西游4手游服务器维护,造梦西游4手机版常见问题解答 新手看过来
- 实体消歧(链接到实体库)
- java-net-php-python-13jspm珠宝销售网开题计算机毕业设计程序
- 计算机顶会英文论文查找
- Google确认Chrome存在严重漏洞,向20亿用户发出警告:你们需立即更新浏览器
- 你懂SOLID原则吗?
- 2022年蓝桥杯:第十三届蓝桥杯大赛软件赛省赛C/C++大学B组真题(考后回顾,文末附真题链接)
- sklearn入门——聚类算法KMeans
- 服务器 系统 ghost,3.5.2 在服务器上用Ghost恢复系统包(1)
- 印尼央行批准外国游客使用移动支付
- CV全新范式!LSTM在CV领域杀出一条血路!Sequencer:超越Swin、ConvNeXt等网络
- 快速排序(Quicksort)详解
- bootstrap 按钮样式汇总
- python ocr 文字识别_python:使用 cnocr 进行文字识别