zoukankan      html  css  js  c++  java
  • 欢迎进入MyKTV点歌系统展示

     一个项目,一分收获;一个项目,一些资源。Ktv项目也是一样的,所以我想分享我的收获,让你们获得你需要的资源。

         一. 那MyKTV点歌系统具体的功能有哪些呢?我们就来看看吧!

        1.MyKTV前台功能:

         01.歌星点歌 、拼音点歌 、数字点歌 、类型选择 、金榜排行

         02.切歌 、点歌 、重唱和退出

         2.MyKTV后台功能:

          01.歌手管理 、歌曲管理 、设置资源路径

          02.新增歌手、歌曲 ,查询歌手、歌曲信息,设置歌曲路径和退出

          二. 功能已经概括的差不多了,就让我们一起来看看MyKTV的项目吧

      四个辅助类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MyKTV
    {
        class KTVUtil
        {
            public static string picturePath = "";
            public static string songPath = "";
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MyKTV
    {
       class PlayList
        {
          
            public  static Song[] SongList=new Song[1000];
           //当前播放的歌曲在数组中的索引(已点列表)
            public static int SongIndex = 0;
    
           //点一首歌,相当于将歌曲放在数组中
            public  static bool AddSong(Song song)
            {
                bool result = false;//记录添加歌曲是否成功
                for (int i = 0; i < SongList.Length; i++)
                {
                    if (SongList [i]==null)
                    {
                        SongList[i] = song;
                        result = true;
                        break;
                    }
                }
                return result;
            }
            //获取当前播放的歌曲  既然是获取当前播放的歌曲,返回值肯定是Song类型
           public  static Song GetPlaySong()
            {
                if (SongList [SongIndex]!=null)
                {
                    return SongList[SongIndex];
                }
                else
                {
                    return null;
                }
            }
           //播放下一首
            public static void Next()
            {
                if (SongList[SongIndex] != null && SongList[SongIndex].PlayStar== SongPlayState.again)
                {
                    SongList[SongIndex].SongPlayed();
                }
                else
                {
                    SongIndex++;
                    if (SongList[SongIndex]!=null)
                    {
                         SongList[SongIndex].SongPlayed();
                    }
                   
                }
            }
           //当前播放的歌曲名称
            public static string PlaySongName()
            {
                string songname = "";
                if (SongList[SongIndex]!=null)
                {
                    songname=SongList[SongIndex].SongName;
                }
                return songname;
            }
           //下一首要播放的歌曲名称
            public static string NextSongName()
            {
                string songname = "";
                //if (SongList[SongIndex+1] != null&&SongList[0]!=null)
                //{
                //    songname = SongList[SongIndex+1].SongName;
    
                //}
                //return songname;
    
                if (SongList[0] != null && SongList[SongIndex + 1] == null)
                {
                    songname = "待添加....";
                    return songname;
                }
                else
                {
                    if (SongList[0] != null)
                    {
                        songname = SongList[SongIndex + 1].SongName;
                        return songname;
                    }
                    else
                    {
                        return string.Empty;
                    }
    
                }
            }
           //重唱
            public static void PalyAgain()
            {
                if (SongList[SongIndex]!=null)
                {
                    SongList[SongIndex].SongAgain();
    
                }
            }
           
           //切歌
            public static void Cutsong()
            {
                //获取到当前播放的歌曲改变播放状态
                if (SongList [SongIndex] != null)
                {
                    SongList [SongIndex].PlayStar = SongPlayState.cut;
                    SongIndex++;   //改变歌曲索引,播放下一首
                }
                
    
            }
           ////切歌
           // public static void CutSong(int index)
           // {
           //     //迭代变量,代表切歌位置
           //     int i;
           //     if (index==-1)//循环变量,代表切歌位置
           //     {
           //         i=SongIndex;
           //     }else
           //     {
           //         //从切歌的位置开始,将歌曲逐个向前移动一个位置
           //         i=index;
           //     }
           //     SongList[i].SongCut();
           //     while (SongList[i]!=null)
           //     {
           //         SongList[i]=SongList[i+1];
           //         i++;
                  
           //     }
               
           // }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MyKTV
    {
     enum SongPlayState
        {
            //未播放,播放,重播,切歌
            unplayer, played, again, cut
        }
      public class Song
        {
          
            private string songName;
    
            public string SongName
            {
                get { return songName; }
                set { songName = value; }
            }
            private string songUrl;
    
            public string SongUrl
            {
                get { return songUrl; }
                set { songUrl = value; }
            }
            //歌曲播放状态默认为未播放
            private SongPlayState playStar = SongPlayState.unplayer;
    
          internal SongPlayState PlayStar
            {
                get { return playStar; }
                set { playStar = value; }
            }
    
           
    
            //将歌曲状态改为播放
            public void SongPlayed()
            {
    
                this.PlayStar = SongPlayState.played;
            }
            //歌曲状态重播
            public void SongAgain()
            {
                this.PlayStar = SongPlayState.again;
            }
            //歌曲状态切歌
            public void SongCut()
            {
                this.PlayStar = SongPlayState.cut;
            }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace MyKTV
    {
        class SqlUtil
        {
            public static string str = "data source=.;initial catalog=KTV;user id=sa;pwd=718191";
        }
    }

            1.首先就是展现KTV的主界面,让我们先了解一下那些功能

         

             01.实现各个共功能的主代码:

    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;
    namespace MyKTV
    {
        public partial class frmMain : Form
        {
            public frmMain()
            {
                //InitializeComponent();
            }
    
            private void btnGX_Click(object sender, EventArgs e)
            {
                frmGXDG1 fg = new frmGXDG1();
                fg.form1 = this;
                fg.Show();
                this.Hide();
            }
            //获取歌曲路径
            public void SongPath()
            {
                string sql = "select resourcepath from resourcepath where resourceid=1";
                SqlConnection con = new SqlConnection(SqlUtil.str);
                SqlCommand com = new SqlCommand(sql, con);
                try
                {
                    con.Open();
                    KTVUtil.songPath= com.ExecuteScalar().ToString();
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
            private void frmMain_Load(object sender, EventArgs e)
            {
                
                //读取歌曲路径
                SongPath();
                //读取resourcepath表中的歌手图片
                string sql = "select resourcepath from resourcepath where resourceid=2";
                SqlConnection con = new SqlConnection(SqlUtil.str);
                SqlCommand com = new SqlCommand(sql,con);
                try
                {
                    con.Open();
                    KTVUtil.picturePath=com.ExecuteScalar().ToString();
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
            private Song song;//当前播放的歌曲
            //播放歌曲
            public void PlaySong()
            {
                //调用播放当前歌曲方法
                this.song = PlayList.GetPlaySong();
                if (song!=null)
                {
                    //改变播放状态为播放
                    this.song.SongPlayed();
                    Player2.URL = KTVUtil.songPath + "\" + this.song.SongUrl;
                   
                    txtIng.Text = PlayList.PlaySongName();
                    
                }
            }
    
            private void btnPY_Click(object sender, EventArgs e)
            {
                frmPY fp = new frmPY();
                fp.Show();
            }
    
            private void btnSZ_Click(object sender, EventArgs e)
            {
                frmNum fn = new frmNum();
                fn.Show();
            }
    
            private void btnLX_Click(object sender, EventArgs e)
            {
                frmType ft = new frmType();
                ft.getSong(song);
                
                ft.Show();
            }
    
            private void btnJB_Click(object sender, EventArgs e)
            {
                frmPaiHang fp = new frmPaiHang();
                fp.Show();
            }
             
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
    
                    frmYiDian fy = frmYiDian.getFrm();
                    fy.Show();
                
                
            }
    
            private void panel2_Paint(object sender, PaintEventArgs e)
            {
    
            }
           public static int cutSong = 0;
           private void timer1_Tick(object sender, EventArgs e)
           {
               String nextSongName = PlayList.NextSongName();
               txtNext.Text = nextSongName;
               if (song == null)
               {
                   PlaySong();
               }
               if (Player2.playState == WMPLib.WMPPlayState.wmppsStopped)
               {
                   song = null;
                   PlayList.Next();
               }
               if (song != null && this.song.PlayStar == SongPlayState.cut)
               {
                   this.song = null;
               }
               if (song != null)
               {
                   if (this.song.PlayStar == SongPlayState.again)
                   {
                       this.song = null;
                   }
               }
           }
            private void toolStripButton5_Click(object sender, EventArgs e)
            {
                Application.Exit();
            }
    
            private void Player2_Enter(object sender, EventArgs e)
            {
    
            }
    
            private void timNow_Tick(object sender, EventArgs e)
            {
               
               
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
    
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result==DialogResult.Yes)
                {
                    PlayList.Cutsong();
     
                }
               
            }
    
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
               
                PlayList.PalyAgain();
                
            }
    
            private void txtIng_TextChanged(object sender, EventArgs e)
            {
                //txtIng.Text = PlayList.PlaySongName();
            }
    
            private void txtNext_TextChanged(object sender, EventArgs e)
            {
               // txtNext.Text = PlayList.NextSongName();
            }
            
            private void timer2_Tick(object sender, EventArgs e)
            {
               
            }
            //原唱伴唱(可惜没实现)
            private void button1_Click(object sender, EventArgs e)
            {
                if (Player2.settings.balance==100)
                {
                    Player2.settings.balance = -100;
                }
                else
                {
                    Player2.settings.balance = 100;
                }
            }
           
        }
    }
    

         2.歌星点歌(三个listview的集成窗体)

              01.歌手类别

        

         02.歌手地区

         

     

         03.歌手姓名

        

      

        04.代码

    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;
    namespace MyKTV
    {
        public partial class frmGXDG1 : Form
        {
            public frmGXDG1()
            {
                InitializeComponent();
            }
            public int a = 1;//三个listview标示
            public int typeid = 0;
            public string sex = "组合";
            public  frmMain form1 = null;
            private void frmGXDG1_Load(object sender, EventArgs e)
            {
                this.listView2.Visible = false;
                this.listView3.Visible = false;
            }
            //动态加载第二个listView五个图片
            private void listView1_Click(object sender, EventArgs e)
            {
                a = 2;
                if (listView1.SelectedItems[0]!=null)
                {
                    listView2.Visible = true;
                    listView2.Location = listView1.Location;
                    //记录第一个listview所选类型
                    sex = listView1.SelectedItems[0].Tag.ToString();
                }
                string sql = "select singercountryid,singercountryname from singercountry";
                SqlConnection con = new SqlConnection(SqlUtil.str);
                SqlCommand com = new SqlCommand(sql, con);
                try
                {
                    con.Open();
                    SqlDataReader reader = com.ExecuteReader();
                    
                    listView2.Items.Clear();
                    if (reader.HasRows)
                    {
                        int num = 0;
                        while (reader.Read())
                        {
                            ListViewItem lv = new ListViewItem();
                            lv.Text = reader["singercountryname"].ToString();
                            lv.Tag = Convert.ToInt32(reader["singercountryid"]);
                           
                            lv.ImageIndex = num;
                            listView2.Items.Add(lv);
                            num++;
                        }
                        reader.Close();
                    }
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
    
            private void listView2_Click(object sender, EventArgs e)
            {
                a = 3;
                if (listView2.SelectedItems[0]!=null)
                {
                    listView2.Visible = false;
                    listView3.Visible = true;
                    listView3.Location = listView2.Location;
                    //保存所选择的地区编号
                   typeid = Convert.ToInt32(listView2.SelectedItems[0].Tag);
                    string result=sex;
                    if (sex!="组合")
                    {
                       result=sex ;
                    }
                    string sql = "select singername,singerphotourl,singerid from singerinfo where singercountryid='"+typeid+"' and singersex='"+result+"'";
                    SqlConnection con = new SqlConnection(SqlUtil.str);
                    SqlCommand com = new SqlCommand(sql,con);
                    try
                    {
                        con.Open();
                        SqlDataReader reader = com.ExecuteReader();
                        listView3.Items.Clear();//清空listview列表集合
                        if (reader.HasRows)
                        {
                            int num = 0;//添加的图片下标
                            imageList3.Images.Clear();//情况图片集合
                            
                            while (reader.Read())
                            {
                                //读取图片地址
                                string path = KTVUtil.picturePath + "\" + reader["singerphotourl"].ToString();
                                //把读取出来的图片添加到imagelist3上
                                imageList3.Images.Add(Image.FromFile(path));
                                ListViewItem lv = new ListViewItem();
                                lv.Text=reader["singername"].ToString();
                                lv.Tag = Convert.ToInt32(reader["singerid"]);
                                lv.ImageIndex = num;
                                listView3.Items.Add(lv);
                                num++;
                            }
                        }
                    }
                    catch (Exception)
                    {
    
                        throw;
                    }
                    finally
                    {
                        con.Close();
                    }
                }
            }
    
            private void listView3_Click(object sender, EventArgs e)
            {
                string sql = @"select singername,songname,songurl,songid from singerinfo as s,songinfo as f
                                where s.singerid=f.singerid and singername='"+listView3.SelectedItems[0].Text+"'";
               
                
                frmSongList fs = new frmSongList();
                fs.sql = sql;
                fs.Show();
                
            }
    
            private void tsbYD_Click(object sender, EventArgs e)
            {
                frmYiDian fy = frmYiDian.getFrm();
                fy.Show();
            }
    
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
    
            private void tsbFH_Click(object sender, EventArgs e)
            {
                if (a==2)
                {
                    a = 1;
                    this.listView1.Visible = true;
                    this.listView2.Visible = false;
                    this.listView3.Visible = false;
                }else 
                if (a==3)
                {
                    a = 2;
                     listView2.Visible = true;
                    listView1.Visible = false;
                    listView3.Visible = false;
                }else
                if (a==1)
                {
    
                    form1.Show();
                   
                   
                }
            }
    
            private void tsbTC_Click(object sender, EventArgs e)
            {
                form1.Show();
               
                this.Close();
            }
    
            private void listView3_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
    
            private void tsbCC_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
          
            private void tsbQG_Click(object sender, EventArgs e)
            {
                            DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                            if (result == DialogResult.Yes)
                            {
                                PlayList.Cutsong();
                            }
             }
    
           
        }
    }

      05.歌曲列表

       

     

    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;
    namespace MyKTV
    {
        public partial class frmSongList : Form
        {
            public string sql = "";
            public int count = 0;
            public frmSongList()
            {
                InitializeComponent();
            }
    
            private void frmSongList_Load(object sender, EventArgs e)
            {
                if (count != 0)
                {
                    string numsql = "select singername,songname,songurl,songid from singerinfo as s,songinfo as f where s.singerid=f.singerid and songcount=" + count + "";
                    NewMethod(numsql);
                }
                else
                {
                    NewMethod(sql);
                }
            }
            //加载frmSongList控件里dgvList数据
            private void NewMethod(string sql)
            {
                dgvList.AutoGenerateColumns = false;
                SqlConnection con = new SqlConnection(SqlUtil.str);
                SqlDataAdapter da = new SqlDataAdapter(sql, con);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgvList.DataSource = ds.Tables[0];
            }
    
            private void dgvList_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                //点击某首歌曲,并将选中的歌曲名和路径赋给该对象()
                Song song = new Song();
                song.SongName = dgvList.SelectedRows[0].Cells[0].Value.ToString();
               
                string a = dgvList.SelectedRows[0].Cells[2].Value.ToString();
                song.SongUrl=a;
                PlayList.AddSong(song);
                string name = dgvList.SelectedRows[0].Cells[0].Value.ToString();
                addCount(name);
    
            }
            public void addCount(string name)
            {
                SqlConnection con = new SqlConnection(SqlUtil.str);
                string sql = "update songinfo set songplaycount+=1 where songname='"+name+"'";
                SqlCommand com = new SqlCommand(sql,con);
                try
                {
                    con.Open();
                    int num = com.ExecuteNonQuery();
                }
                catch (Exception)
                {
    
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
    
            private void dgvList_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
    
            }
        }
    }

    字数点歌

    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;
    
    namespace MyKTV
    {
        public partial class frmNum : Form
        {
            public frmNum()
            {
                InitializeComponent();
            }
            int count = 0;
            private void btn1_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn1.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
               
            }
    
            private void btn2_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn2.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn3_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn3.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn4_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn4.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn5_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn5.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn6_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn6.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn7_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn7.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn8_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn8.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void btn9_Click(object sender, EventArgs e)
            {
                count = Convert.ToInt32(btn9.Text);
                frmSongList fs = new frmSongList();
                fs.count = count;
                fs.Show();
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
    
            private void toolStripButton1_Click(object sender, EventArgs e)
            {
    
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    PlayList.Cutsong();
                }
            }
    
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                frmYiDian fy = frmYiDian.getFrm();
                fy.Show();
            }
    
            private void frmNum_Load(object sender, EventArgs e)
            {
    
            }
        }
    }

    金榜排行

    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;
    namespace MyKTV
    {
        public partial class frmPaiHang : Form
        {
            public frmPaiHang()
            {
                InitializeComponent();
            }
    
            private void frmPaiHang_Load(object sender, EventArgs e)
            {
                Initial();
            }
            public void Initial()
            {
                SqlConnection con = new SqlConnection(SqlUtil.str);
                string sql = "select singername,songname,songplaycount,songurl from singerinfo as s,songinfo as f where s.singerid=f.singerid order by songplaycount desc";
                SqlCommand com = new SqlCommand(sql, con);
                try
                {
                    con.Open();
                    SqlDataReader reader = com.ExecuteReader();
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            string songname = Convert.ToString(reader["songname"]);
                            string singername = Convert.ToString(reader["singername"]);
                            int count = Convert.ToInt32(reader["songplaycount"]);
                            string songurl = Convert.ToString(reader["songurl"]);
                            ListViewItem lv = new ListViewItem(songname);
                            lv.SubItems.Add(singername);
                            lv.SubItems.Add(count.ToString());
                            lv.SubItems.Add(songurl);
                            lvPH1.Items.Add(lv);
                        }
                    }
                }
                catch (Exception)
                {
                    throw;
                }
                finally
                {
                    con.Close();
                }
            }
    
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                frmYiDian fy = frmYiDian.getFrm();
                fy.Show();
            }
    
            private void lvPH_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
    
            private void lvPH_Click(object sender, EventArgs e)
            {
                 
            }
    
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
    
            private void listView1_Click(object sender, EventArgs e)
            {
                Song song = new Song();
                song.SongName = lvPH1.SelectedItems[0].SubItems[0].Text;
                song.SongUrl = lvPH1.SelectedItems[0].SubItems[3].Text;
                PlayList.AddSong(song);
                frmSongList fs = new frmSongList();
                string name = lvPH1.SelectedItems[0].SubItems[0].Text;
                fs.addCount(name);
                this.lvPH1.Items.Clear(); 
                Initial();
                
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    PlayList.Cutsong();
                }
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                this.lvPH1.Items.Clear(); ;
                Initial();
            }
        }
    }

    类型点歌

    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;
    
    namespace MyKTV
    {
        public partial class frmType : Form
        {
            public frmType()
            {
                InitializeComponent();
            }
            private Song song;//当前播放的歌曲
            public void getSong(Song so){
                this.song=so;
            }
            private void lvType_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
            //类型点歌
            private void lvType_Click(object sender, EventArgs e)
            {
                string sql = "select singername,songname,songurl,songid from singerinfo as s,songinfo as f where s.singerid=f.singerid and songtype='" +lvType.SelectedItems[0].Text+ "'";
                frmSongList fs = new frmSongList();
                fs.sql = sql;
                fs.Show();
            }
    
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                frmYiDian fy = frmYiDian.getFrm();
                fy.Show();
            }
    
            private void frmType_Load(object sender, EventArgs e)
            {
    
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    PlayList.Cutsong();
                }
            }
        }
    }

    拼音点歌

    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;
    namespace MyKTV
    {
        public partial class frmPY : Form
        {
            public frmPY()
            {
                InitializeComponent();
            }
            public string py = "";
    
            private void butA_Click(object sender, EventArgs e)
            {
                py += btnA.Text;
                txtPY.Text = py;
                select();
            }
    
            private void butB_Click(object sender, EventArgs e)
            {
                py += btnB.Text;
                txtPY.Text = py;
                select();
            }
    
            private void butC_Click(object sender, EventArgs e)
            {
                py += btnC.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnD_Click(object sender, EventArgs e)
            {
                py += btnD.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnE_Click(object sender, EventArgs e)
            {
                py += btnE.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnF_Click(object sender, EventArgs e)
            {
                py += btnF.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnG_Click(object sender, EventArgs e)
            {
                py += btnG.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnH_Click(object sender, EventArgs e)
            {
               
            }
    
            private void btnI_Click(object sender, EventArgs e)
            {
                py += btnI.Text;
                txtPY.Text = py;
                select();
            }
            private void btnK_Click(object sender, EventArgs e)
            {
                py += btnK.Text;
             txtPY.Text = py;
             select();
            }
    
            private void btnL_Click(object sender, EventArgs e)
            {
                py += btnL.Text;
             txtPY.Text = py;
             select();
            }
    
            private void btnM_Click(object sender, EventArgs e)
            {
                py += btnM.Text;
             txtPY.Text = py;
             select();
            }
    
            private void btnN_Click(object sender, EventArgs e)
            {
                py += btnN.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnO_Click(object sender, EventArgs e)
            {
                py += btnO.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnP_Click(object sender, EventArgs e)
            {
                py += btnP.Text;
             txtPY.Text = py;
             select();
            }
    
            private void btnQ_Click(object sender, EventArgs e)
            {
                py += btnQ.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnR_Click(object sender, EventArgs e)
            {
                py += btnR.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnS_Click(object sender, EventArgs e)
            {
                py += btnS.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnT_Click(object sender, EventArgs e)
            {
                py += btnT.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnU_Click(object sender, EventArgs e)
            {
                py += btnU.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnV_Click(object sender, EventArgs e)
            {
                py += btnV.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnW_Click(object sender, EventArgs e)
            {
                py += btnW.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnX_Click(object sender, EventArgs e)
            {
                py += btnX.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnY_Click(object sender, EventArgs e)
            {
                py += btnY.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnZ_Click(object sender, EventArgs e)
            {
                py += btnZ.Text;
                 txtPY.Text = py;
                 select();
            }
    
            private void btnJ_Click(object sender, EventArgs e)
            {
                py += btnJ.Text;
                txtPY.Text = py;
                select();
            }
    
            private void btnPY_Click(object sender, EventArgs e)
            {
                int length = py.Length;
                if (length>0)
                {
                    py = py.Substring(0,length-1);
                txtPY.Text = py;
                select(); 
                }
                
            }
            //拼音模糊查询
            public void  select() {
                dgvPY.AutoGenerateColumns = false;
                string sql = @"select singername,songname,songurl,songid from singerinfo as s,songinfo as f
                                where s.singerid=f.singerid and songab like '" + txtPY.Text + "%'";
                SqlConnection con = new SqlConnection(SqlUtil.str);
                SqlDataAdapter da = new SqlDataAdapter(sql, con);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgvPY.DataSource = ds.Tables[0];
            }
    
            private void txtPY_TextChanged(object sender, EventArgs e)
            {
                select();
            }
    
            private void btnH_Click_1(object sender, EventArgs e)
            {
                py += btnH.Text;
                txtPY.Text = py;
                select();
            }
    
            private void toolStripButton4_Click(object sender, EventArgs e)
            {
                frmYiDian fy = frmYiDian.getFrm();
                fy.Show();
            }
    
            private void dgvPY_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                Song song = new Song();
                song.SongName = dgvPY.SelectedRows[0].Cells[0].Value.ToString();
               
                string a = dgvPY.SelectedRows[0].Cells[2].Value.ToString();
                song.SongUrl = a;
    
                PlayList.AddSong(song);
            }
    
            private void frmPY_Load(object sender, EventArgs e)
            {
    
            }
    
            private void panel1_Paint(object sender, PaintEventArgs e)
            {
    
            }
    
            private void toolStripButton2_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
    
            private void toolStripButton3_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    PlayList.Cutsong();
                }
            }
            }
        
    }

    已点列表

    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;
    
    namespace MyKTV
    {
        public partial class frmYiDian : Form
        {
            private frmYiDian()
            {
                InitializeComponent();
            }
            public static frmYiDian frm;
            public static frmYiDian getFrm()
            {
                if (frm==null)
                {
                    frm = new frmYiDian();
                }
                return frm;
            }
    
            public static int style = 1;
            private void lvYiDian_SelectedIndexChanged(object sender, EventArgs e)
            {
             
            }
            public void RefreshSongList()
            {
                lvYiDian.Items.Clear();//清空原列表
                for (int i = 0; i < PlayList.SongList.Length; i++)
                {
                    if (PlayList.SongList[i]!=null)
                    {
                        ListViewItem item = new ListViewItem(PlayList.SongList[i].SongName);
                        item.Tag = i;
                        //获取播放状态
                        string bofang = PlayList.SongList[i].PlayStar == SongPlayState.unplayer ? "未播放" : "已播放";
                        item.SubItems.Add(bofang);
                        lvYiDian.Items.Add(item);
                    }
                }
            }
    
            private void frmYiDian_Load(object sender, EventArgs e)
            {
                style = 0;
                RefreshSongList();
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                RefreshSongList();
            }
    
            private void frmYiDian_FormClosing(object sender, FormClosingEventArgs e)
            {
                style = 1;
            }
    
            private void 切歌ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    PlayList.Cutsong();
                }
            }
    
            private void 重唱ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                PlayList.PalyAgain();
            }
    
        }
    }

    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;namespace MyKTV{    public partial class frmMain : Form    {        public frmMain()        {            //InitializeComponent();        }
            private void btnGX_Click(object sender, EventArgs e)        {            frmGXDG1 fg = new frmGXDG1();            fg.form1 = this;            fg.Show();            this.Hide();        }        //获取歌曲路径        public void SongPath()        {            string sql = "select resourcepath from resourcepath where resourceid=1";            SqlConnection con = new SqlConnection(SqlUtil.str);            SqlCommand com = new SqlCommand(sql, con);            try            {                con.Open();                KTVUtil.songPath= com.ExecuteScalar().ToString();            }            catch (Exception)            {
                    throw;            }            finally            {                con.Close();            }        }        private void frmMain_Load(object sender, EventArgs e)        {                        //读取歌曲路径            SongPath();            //读取resourcepath表中的歌手图片            string sql = "select resourcepath from resourcepath where resourceid=2";            SqlConnection con = new SqlConnection(SqlUtil.str);            SqlCommand com = new SqlCommand(sql,con);            try            {                con.Open();                KTVUtil.picturePath=com.ExecuteScalar().ToString();            }            catch (Exception)            {
                    throw;            }            finally            {                con.Close();            }        }        private Song song;//当前播放的歌曲        //播放歌曲        public void PlaySong()        {            //调用播放当前歌曲方法            this.song = PlayList.GetPlaySong();            if (song!=null)            {                //改变播放状态为播放                this.song.SongPlayed();                Player2.URL = KTVUtil.songPath + "\" + this.song.SongUrl;                               txtIng.Text = PlayList.PlaySongName();                            }        }
            private void btnPY_Click(object sender, EventArgs e)        {            frmPY fp = new frmPY();            fp.Show();        }
            private void btnSZ_Click(object sender, EventArgs e)        {            frmNum fn = new frmNum();            fn.Show();        }
            private void btnLX_Click(object sender, EventArgs e)        {            frmType ft = new frmType();            ft.getSong(song);                        ft.Show();        }
            private void btnJB_Click(object sender, EventArgs e)        {            frmPaiHang fp = new frmPaiHang();            fp.Show();        }                 private void toolStripButton3_Click(object sender, EventArgs e)        {
                    frmYiDian fy = frmYiDian.getFrm();                fy.Show();                                }
            private void panel2_Paint(object sender, PaintEventArgs e)        {
            }       public static int cutSong = 0;       private void timer1_Tick(object sender, EventArgs e)       {           String nextSongName = PlayList.NextSongName();           txtNext.Text = nextSongName;           if (song == null)           {               PlaySong();           }           if (Player2.playState == WMPLib.WMPPlayState.wmppsStopped)           {               song = null;               PlayList.Next();           }           if (song != null && this.song.PlayStar == SongPlayState.cut)           {               this.song = null;           }           if (song != null)           {               if (this.song.PlayStar == SongPlayState.again)               {                   this.song = null;               }           }       }        private void toolStripButton5_Click(object sender, EventArgs e)        {            Application.Exit();        }
            private void Player2_Enter(object sender, EventArgs e)        {
            }
            private void timNow_Tick(object sender, EventArgs e)        {                              }
            private void toolStripButton2_Click(object sender, EventArgs e)        {
                DialogResult result = MessageBox.Show("确定要切歌吗?", "", MessageBoxButtons.YesNo);            if (result==DialogResult.Yes)            {                PlayList.Cutsong();             }                   }
            private void toolStripButton1_Click(object sender, EventArgs e)        {                       PlayList.PalyAgain();                    }
            private void txtIng_TextChanged(object sender, EventArgs e)        {            //txtIng.Text = PlayList.PlaySongName();        }
            private void txtNext_TextChanged(object sender, EventArgs e)        {           // txtNext.Text = PlayList.NextSongName();        }                private void timer2_Tick(object sender, EventArgs e)        {                   }        //原唱伴唱(可惜没实现)        private void button1_Click(object sender, EventArgs e)        {            if (Player2.settings.balance==100)            {                Player2.settings.balance = -100;            }            else            {                Player2.settings.balance = 100;            }        }           }}

  • 相关阅读:
    Mac保留Python2安装Python3(Anaconda3)
    Mybatis Plugin 以及Druid Filer 改写SQL
    Jackson替换fastjson
    Java单元测试 Http Server Mock框架选型
    应用中有多个Spring Property PlaceHolder导致@Value只能获取到默认值
    RabbitMQ Policy的使用
    Collectors.toMap不允许Null Value导致NPE
    php 删除标签
    php 替换标签
    jquery拼接html
  • 原文地址:https://www.cnblogs.com/chuangege/p/5741561.html
Copyright © 2011-2022 走看看