你的位置:首页 > 软件开发 > ASP.net > MyKTV点歌系统

MyKTV点歌系统

发布时间:2015-07-31 12:00:11
历时一个多礼拜,终于做完了这个项目.说实话,项目不是很完美.那总结还是要做的,总结下知识还是很有必要的首先,肯定是先制作窗体在制作窗体的时候有各种各样的问题,有时候控件不正确,有时候手贱会把之前建好的控件删掉,反正问题不大,都可以自己解决.在窗体建好了之后呢,就开始正式的写代码了 ...

历时一个多礼拜,终于做完了这个项目.说实话,项目不是很完美.那总结还是要做的,总结下知识还是很有必要的

首先,肯定是先制作窗体

在制作窗体的时候有各种各样的问题,有时候控件不正确,有时候手贱会把之前建好的控件删掉,反正问题不大,都可以自己解决.

在窗体建好了之后呢,就开始正式的写代码了,每个窗体的关联,与数据库的连接,每一步都不能错,错了就得费半天劲才能调好

其实第一天的时候我不知道脑子想什么了,老师明明说的是先写前台,我却写成了后台,这下差距就和别人大了很多.而且在这个时候,我的电脑偏偏出问题了,回家根本就不能写了,只能在学校和Bug做斗争,

先说掉用窗体吧,一个窗体到下一个窗体怎么调用呢?

很简单,两行代码就可以搞定

FrmOrderBySinger frmSinger = new FrmOrderBySinger();

     frmSinger.Show();

然后就可以实现窗体跳转

看一下我特别丑的界面吧,但是功能还是很全的哦,不要在意外表美,要注重内在美

MyKTV点歌系统

接下来就是要实现功能了,一个点歌系统,它的界面必须清楚,明朗,要不点歌的人看着会很烦,别说点歌了,肯定看都不会看

歌星点歌里要有更仔细的分类

要有男女组合分类,在更近一层就是地区分类,最后就是歌手名字了,先看一下效果图吧

 MyKTV点歌系统

MyKTV点歌系统

MyKTV点歌系统

点击歌手,里面就是歌手的所有歌曲了.我下载的歌曲少,所以就只有一首歌曲,重点是实现,而不是歌曲的多少,

这些都是利用一个窗体完成的,就是使用了三个listView控件,使它们在运行在一个窗体中,

他们都是层级关系,一个控件调用另一个控件

其实第二个listView开始,就不是窗体上的图片了,而是利用代码搞定的,这就是代码的神奇之处

下面,就仔细的说说是怎么用代码实现的

当你点击男?女?或者组合的时候,就是这些代码带你跳转到下一个ListView控件,图片就是一个路径,然后根据路径就可以把图片调到ListView中,连接数据库,把底下的字就可以调用出来了这些代码就实现了我们所有的需求

if (listView2.SelectedItems[0]!=null)

            {

                listView2.Visible = false;

                lvName.Visible = true;

                lvName.Location = listView1.Location;

                SingerId = Convert.ToInt32(listView2.SelectedItems[0].Tag);

                StringBuilder sb = new StringBuilder();

                get='_blank'>string sum = SingerType;

                if (sum!="组合")

                {

                    sum = SingerType == "女歌手" ? "男" : "女";

                }

                string sql = string.Format("select singer_name,singer_photo_url,singer_id from singer_info where singertype_id='{0}' and singer_sex='{1}'", SingerId,sum);

                SqlCommand cmd = new SqlCommand(sql, db.Conection);

                try

                {

                    db.OpenConnection();

                    SqlDataReader read = cmd.ExecuteReader();

                  

                        //歌手头像索引

                        int imageindex = 0;

                        //清空图片集合

                        imageName.Images.Clear();

                        //清空listview列表集合

                        lvName.Items.Clear();

                        if (read.HasRows)

                        {

                            while (read.Read())

                            {

                                //图片的地址

                                string path = KtvUtil.FilePath + @"\" + Convert.ToString(read["singer_photo_url"]);

                                //图片路径装载到imagelist

                                imageName.Images.Add(Image.FromFile(path));

                                //将类型装载到集合中去

                                ListViewItem lvitem = new ListViewItem();

                                string typename = Convert.ToString(read["singer_name"]);

                                int typeid = Convert.ToInt32(read["singer_id"]);

                                lvitem.Text = typename;

                                lvitem.Tag = typeid;

                                lvitem.ImageIndex = imageindex;

                                lvName.Items.Add(lvitem);

                                imageindex++;

                            }

                            read.Close();

                        }

                    }              

                catch (Exception ex)

                {

                    MessageBox.Show("第三个系统报错!" + ex.Message);

                }

 

接下来,点击歌手名字,所属歌手的歌曲就可以显示出来了

比如,点击李宇春,她的歌曲就会显示出来

MyKTV点歌系统

数据库里,李宇春就一首歌,如果你想点击其他的歌曲,可以用KTV后台来添加,咱们现在这个是前台

如果你点击歌曲的话,歌曲就会同时播放,

先看一下效果图吧

MyKTV点歌系统

这就是播放歌曲的控件,下面就说代码是怎么实现的

//当前播放的歌曲

   private SongList song;

        public void palySong()

        {

            //把播放类的播放方法赋给当前的播放歌曲

            this.song = PalyList.GetSong();

            //当歌曲不为空的时候

            if (song!=null)

            {

                //调取歌曲的播放状态

                this.song.PalyState();

                //歌曲的路径

        Player1.URL = KtvUtil.SongPath+"\\"+ this.song.SongUl1;

              

            }

        }

这个就可以实现歌曲播放了,就这边像是切歌啊,重唱啊,就一块说了吧

如果点击切歌的话,就把当前歌曲-1就可以了,代码如下:

if (MessageBox.Show("确定要切歌吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning)==DialogResult.OK)

            {

                PalyList.CutSong(-1);

            }

最好有一个提示框,要是顾客有时候点错了呢,对吧!

重唱呢,就是在把唱歌的方法重复一遍就好了

palySong();

这个就是刚刚播放歌曲的方法   .

然后呢,我们要说的是拼音点歌,其实拼音点歌比较简单,就是利用模糊查询就可以实现

MyKTV点歌系统

            ab = textBox1.Text;

原标题:MyKTV点歌系统

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录