zoukankan      html  css  js  c++  java
  • KTV点歌系统

    KTV点歌系统————北大青鸟  指导老师:原玉明

     1  public enum SongPlayState
     2     {
     3         //未播放,播放,重播,切歌
     4         unplayed, played, again, cut
     5     }
     6     public class Song
     7     {
     8         public string SongName { get; set; }//歌曲名称
     9 
    10         public string SongURL { get; set; }//歌曲路径
    11 
    12        
    13         public  SongPlayState playState = SongPlayState.unplayed;//默认未播放
    14         internal SongPlayState PlayState { get; set; }
    15 
    16         //状态为已播
    17         public  void SetSongPlayed()
    18         {
    19             this.PlayState = SongPlayState.played;
    20         }
    21         //重唱
    22         public void SetPlayAgain()
    23         {
    24             this.playState = SongPlayState.again;
    25         }
    26        //切歌
    27         public void SetSongCut()
    28         {
    29             this.playState = SongPlayState.cut;
    30         }

    PlayList类中实现切歌 重唱 下一首 等.....

      1 public class PlayList
      2     {
      3         //定义一个长度为、50的歌曲数组,默认存储50首歌曲
      4         public static Song[] SongList = new Song[50];
      5         public static int SongIndex = 0;//当前播放的歌曲在数组中的索引
      6         //点播一首歌曲,其实是将歌曲对象添加到歌曲数组中
      7         public static bool AddSong(Song song)
      8         {
      9             bool success = false;//记录添加歌曲是否成功
     10             for (int i = 0; i < SongList.Length; i++)
     11             {
     12                 //找到数组中第一个为null的位置
     13                 if (SongList[i] == null)
     14                 {
     15                     SongList[i] = song;
     16                     success = true;
     17                     break;
     18                 }
     19             }
     20             return success;
     21         }
     22         //获取当前播放的歌曲::既然是获取当前播放的歌曲,返回值肯定是Song类型
     23         public static Song GetPlaySong()
     24         {
     25             if (SongList[SongIndex] != null)
     26             {
     27                 return SongList[SongIndex];
     28             }
     29             else
     30             {
     31                 return null;
     32             }
     33         }
     34         /// <summary>
     35         /// 播放下一首
     36         /// </summary>
     37         public static void MoveOn()
     38         {
     39             if (SongList[SongIndex] != null && SongList[SongIndex].PlayState == SongPlayState.again)
     40             {
     41                 SongList[SongIndex].SetSongPlayed();
     42             }
     43             else
     44             {
     45                 SongIndex++;
     46             }
     47         }
     48         /// <summary>
     49         /// 当前播放的歌曲名称
     50         /// </summary>
     51         /// <returns>歌曲名称</returns>
     52         public static string PlayingSongName()
     53         {
     54             string songName = ""; // 歌曲名称
     55             if (SongList[SongIndex] != null)
     56             {
     57                 songName = SongList[SongIndex].SongName;
     58             }
     59 
     60             return songName;
     61         }
     62         /// <summary>
     63         /// 下一首要播放的歌曲名称
     64         /// </summary>
     65         /// <returns>歌曲名称</returns>
     66         public static string NextSongName()
     67         {
     68             string songName = ""; // 歌曲名称
     69             if (SongList[SongIndex + 1] != null)
     70             {
     71                 songName = SongList[SongIndex + 1].SongName;
     72             }
     73 
     74             return songName;
     75         }
     76         //重放当前歌曲
     77         public static void PlayAgain()
     78         {
     79             if (SongList[SongIndex] != null)
     80             {
     81                 SongList[SongIndex].SetPlayAgain();
     82             }
     83         }
     84         //切歌
     85         public static void CutSong(int index)
     86         {
     87             int i;//循环变量,代表切歌的位置
     88             if (index == -1)//循环变量,代表切割的位置
     89             {
     90                 i = SongIndex;
     91             }
     92             else
     93             {
     94                 i = index;//从切歌的位置开始,将歌曲逐个向前移一个位置
     95             }
     96             SongList[i].SetSongCut();
     97             while (SongList[i] != null)
     98             {
     99                 SongList[i] = SongList[i + 1];
    100                 i++; 
    101                 //如果达到数组最后一个元素,就将最后一个元素指向空
    102                 if (i == SongList.Length)
    103                 {
    104                     SongList[i] = null;
    105                 }
    106             }
    107         }
    108     }

     实现歌手点歌

      1  public FrmMain frmMain;
      2         string connectionStr = "server=.;database=MyKTV;uid=sa";
      3         DBHelp db = new DBHelp();
      4         private SqlConnection con;
      5         //首先要查出数据库中的图片路径和歌曲路径
      6         private void FrmCountry_Load(object sender, EventArgs e)
      7         {
      8             
      9             con = new SqlConnection(connectionStr);
     10             con.Open();
     11             string sql = "select resource_path from resource_path where resource_id=1";
     12 
     13             string sqlsongpath = "select resource_path from resource_path where resource_id=2";
     14             SqlCommand cmd = new SqlCommand(sql,con);
     15 
     16             SqlCommand cmd2 = new SqlCommand(sqlsongpath, con);
     17             KtvUnit.ImagePath = cmd.ExecuteScalar().ToString();
     18             KtvUnit.SongPath = cmd2.ExecuteScalar().ToString();
     19             con.Close();
     20         }
     21         //点击歌手男女或组合时
     22         private void LvOne_Click(object sender, EventArgs e)
     23         {
     24            
     25             LoadSingerArea();
     26         }
     27         public string singer_type { get; set; }
     28         private void LoadSingerArea()
     29         {
     30             if (this.LvOne.SelectedItems[0] != null)
     31             {
     32                 LvOne.Visible = false;
     33                 LvTwo.Location = LvOne.Location;
     34                 LvTwo.Dock = DockStyle.Fill;
     35                 LvTwo.Visible = true;
     36                 this.singer_type=Convert.ToString(LvOne.SelectedItems[0].Text);
     37             }
     38            
     39             con = new SqlConnection(connectionStr);
     40             string sql = "select singertype_id,singertype_name from singer_type";
     41             SqlCommand cmd = new SqlCommand(sql, con);
     42             SqlDataReader dr;
     43             try
     44             {
     45                 con.Open();
     46                 LvTwo.Items.Clear();
     47                 dr = cmd.ExecuteReader();             
     48                 if (dr.HasRows)
     49                 {
     50                     int index = 0;
     51                     while (dr.Read())
     52                     {
     53                         ListViewItem lvItem = new ListViewItem();
     54                         int typeid = Convert.ToInt32(dr["singertype_id"]);
     55                          string typename = Convert.ToString(dr["singertype_name"]);
     56                         lvItem.Text = typename;
     57                         lvItem.Tag = typeid;
     58                         lvItem.ImageIndex = index;
     59                         LvTwo.Items.Add(lvItem);
     60                         index++;
     61                     }
     62                 }
     63                 dr.Close();
     64             }
     65             catch (Exception ex)
     66             {
     67 
     68                 MessageBox.Show("系统出现异常" + ex.Message);
     69             }
     70             finally 
     71             {
     72                 con.Close();
     73             }
     74         }
     75         public string singertype_id { get; set; }
     76         /// <summary>
     77         /// 点击地区类型时
     78         /// </summary>
     79         /// <param name="sender"></param>
     80         /// <param name="e"></param>
     81         private void LvTwo_Click(object sender, EventArgs e)
     82         {
     83             if (this.LvTwo.SelectedItems[0] != null)
     84             {
     85                 LvTwo.Visible = false;
     86                 Lvthree.Location = LvTwo.Location;
     87                 Lvthree.Dock = DockStyle.Fill;
     88                 Lvthree.Visible = true;
     89                 this.singertype_id = Convert.ToString(LvTwo.SelectedItems[0].Tag);
     90             }
     91             string result = singer_type;
     92             if (result != "组合")
     93             {
     94                 result = singer_type == "女歌手" ? "" : "";
     95             }
     96             con = new SqlConnection(connectionStr);
     97             string sql =string.Format( "select singer_id,singer_name,singer_photo_url from singer_info where singertype_id={0} and singer_Sex='{1}'",singertype_id,result);
     98             SqlCommand cmd = new SqlCommand(sql, con);
     99             SqlDataReader dr;
    100             try
    101             {
    102                 con.Open();
    103                 int index = 0;
    104                 Lvthree.Items.Clear();
    105                 imageList3.Images.Clear();
    106                 dr = cmd.ExecuteReader();
    107                 if (dr.HasRows)
    108                 {  
    109                     while (dr.Read())
    110                     {                       
    111                         string photoURL =KtvUnit.ImagePath + Convert.ToString(dr["singer_photo_url"]);
    112                         //先给ImageList填充图片
    113                         imageList3.Images.Add(Image.FromFile(photoURL));
    114                         ListViewItem lvItem = new ListViewItem();
    115                         lvItem.Text = Convert.ToString(dr["singer_name"]);
    116                         lvItem.Tag =  Convert.ToString(dr["singer_id"]);
    117                         lvItem.ImageIndex = index;
    118                         Lvthree.Items.Add(lvItem);
    119                         index++;
    120                     }
    121                 }
    122                 dr.Close();
    123             }
    124             catch (Exception ex)
    125             {
    126 
    127                 MessageBox.Show("系统出现异常" + ex.Message);
    128             }
    129             finally
    130             {
    131                 con.Close();
    132             }
    133         }
    134 
    135         public void SongList()
    136         {
    137             //读取数据库,读出该歌手的所有歌曲
    138  
    139             StringBuilder sb = new StringBuilder();
    140             //拼接SQL语句
    141             sb.AppendFormat("select song_id,song_name,song_url,singer_name from song_info,singer_info where singer_name='{0}' and song_info.singer_id={1}", Lvthree.SelectedItems[0].Text, Convert.ToInt32(Lvthree.SelectedItems[0].Tag));
    142             FrmSongList songList = new FrmSongList();
    143            
    144             songList.Sql = sb.ToString();
    145             songList.Previous = KtvClient.PrevioisForm.Singer;//指定返回的窗体是按歌手点歌
    146             songList.ShowDialog();
    147             this.Close();
    148 
    149         }
    150 
    151         private void Lvthree_Click(object sender, EventArgs e)
    152         {
    153             SongList();
    154         }
    155 
    156         private void tsSingerMain_Click(object sender, EventArgs e)
    157         {
    158             FrmMain main = new FrmMain();
    159             main.Show();
    160             this.Hide();
    161         }
    162 
    163         private void tsSingerBack_Click(object sender, EventArgs e)
    164         {
    165             if (this.LvOne.Visible==true)
    166             {
    167                 FrmMain man = new FrmMain();
    168                 man.Show();
    169                 this.Hide();
    170             }
    171             else if (this.LvTwo.Visible==true)
    172             {
    173                 this.LvTwo.Visible = false;
    174                 this.LvOne.Visible = true;
    175             }
    176             else if (this.Lvthree.Visible==true)
    177             {
    178                 this.Lvthree.Visible = false;
    179                 this.LvTwo.Visible = true;
    180             }
    181         }
    182 
    183         private void tsSingerCut_Click(object sender, EventArgs e)
    184         {
    185             PlayList.CutSong(-1);
    186         }
    187 
    188         private void tsSingerAgain_Click(object sender, EventArgs e)
    189         {
    190             PlayList.PlayAgain();
    191         }
    192 
    193         private void tsSingerYidian_Click(object sender, EventArgs e)
    194         {
    195             FrmPlayList frm = new FrmPlayList();
    196             frm.Show();
    197         }

    拼音点歌

      1 public FrmMain frmMain;
      2         [DllImportAttribute("user32.dll")]
      3         private static extern bool AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
      4         DBHelp db = new DBHelp();
      5         string connectionStr = "server=.;database=MyKTV;uid=sa";
      6         private void FrmPinYin_Load(object sender, EventArgs e)
      7         {
      8             AnimateWindow(this.Handle, 300, FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE);
      9             SqlConnection con = new SqlConnection(connectionStr);
     10             con.Open();
     11             db.connection();   
     12             string sqlsongpath = "select resource_path from resource_path where resource_id=2";
     13             SqlCommand cmd = new SqlCommand(sqlsongpath, con);
     14             KtvUnit.SongPath = cmd.ExecuteScalar().ToString();
     15         }
     16         private void btnSearch_Click(object sender, EventArgs e)
     17         {
     18             string PinYin = this.txtPinYin.Text;
     19             //判断是否是中文 还是拼音
     20             if (!Regex.IsMatch(this.txtPinYin.Text, @"^[u4e00-u9fa5]+$"))
     21             {
     22                 StringBuilder PY = new StringBuilder(PinYin);
     23                
     24                 for (int i = 0; i <= PY.Length; i++)
     25                 {
     26                     PY.Insert(i, "%");
     27                     i++;
     28                 }
     29                 string sql = string.Format("SELECT song_name,singer_name FROM    dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_ab LIKE '{0}'", PY);
     30                 this.dgvPinYinInfo.DataSource = db.dataTable(sql,"PY");
     31             }
     32             else
     33             {
     34                 StringBuilder ZW = new StringBuilder(PinYin);
     35                 for (int i = 0; i < ZW.Length; i++)
     36                 {
     37                     ZW.Insert(i,"%");
     38                     i++;
     39                 }
     40                 string sql = string.Format("SELECT song_name,singer_name FROM    dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_name LIKE '{0}'", ZW);
     41                 this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY");
     42             }
     43         }
     44 
     45         private void dgvPinYinInfo_DoubleClick(object sender, EventArgs e)
     46         {
     47             string songname = this.dgvPinYinInfo.SelectedRows[0].Cells["song_name"].Value.ToString();
     48             DBHelp db = new DBHelp();
     49             db.connection();
     50             string sql = string.Format("SELECT song_name,singer_name,song_url,song_photo_url FROM dbo.song_info,dbo.singer_info  where dbo.singer_info.singer_id=dbo.song_info.singer_id and song_name='{0}'",songname);
     51 
     52             SqlDataReader reader = db.ExecuteReaders(sql.ToString());
     53 
     54             Song song;
     55             if (reader.Read())
     56             {
     57                 song = new Song();
     58                 song.SongName = reader["song_name"].ToString();
     59                 song.SongURL = KtvUnit.SongPath+reader["song_url"].ToString();
     60                 PlayList.AddSong(song);              
     61             }
     62             reader.Close();
     63         }
     64 
     65         private void pictureBox2_Click(object sender, EventArgs e)
     66         {
     67             textBox1.Text = textBox1.Text + "a";
     68         }
     69 
     70         private void pictureBox1_Click(object sender, EventArgs e)
     71         {
     72             textBox1.Text = textBox1.Text + "b";
     73         }
     74 
     75         private void pictureBox3_Click(object sender, EventArgs e)
     76         {
     77             textBox1.Text = textBox1.Text + "c";
     78         }
     79 
     80         private void pictureBox4_Click(object sender, EventArgs e)
     81         {
     82             textBox1.Text = textBox1.Text + "d";
     83         }
     84 
     85         private void pictureBox5_Click(object sender, EventArgs e)
     86         {
     87             textBox1.Text = textBox1.Text + "e";
     88         }
     89 
     90         private void pictureBox6_Click(object sender, EventArgs e)
     91         {
     92             textBox1.Text = textBox1.Text + "f";
     93         }
     94 
     95         private void pictureBox7_Click(object sender, EventArgs e)
     96         {
     97             textBox1.Text = textBox1.Text + "g";
     98         }
     99 
    100         private void pictureBox8_Click(object sender, EventArgs e)
    101         {
    102             textBox1.Text = textBox1.Text + "h";
    103         }
    104 
    105         private void pictureBox9_Click(object sender, EventArgs e)
    106         {
    107             textBox1.Text = textBox1.Text + "i";
    108         }
    109 
    110         private void pictureBox10_Click(object sender, EventArgs e)
    111         {
    112             textBox1.Text = textBox1.Text + "j";
    113         }
    114 
    115         private void pictureBox26_Click(object sender, EventArgs e)
    116         {
    117             textBox1.Text = textBox1.Text + "k";
    118         }
    119 
    120         private void pictureBox11_Click(object sender, EventArgs e)
    121         {
    122             textBox1.Text = textBox1.Text + "l";
    123         }
    124 
    125         private void pictureBox12_Click(object sender, EventArgs e)
    126         {
    127             textBox1.Text = textBox1.Text + "m";
    128         }
    129 
    130         private void pictureBox13_Click(object sender, EventArgs e)
    131         {
    132             textBox1.Text = textBox1.Text + "n";
    133         }
    134 
    135         private void pictureBox14_Click(object sender, EventArgs e)
    136         {
    137             textBox1.Text = textBox1.Text + "o";
    138         }
    139 
    140         private void pictureBox15_Click(object sender, EventArgs e)
    141         {
    142             textBox1.Text = textBox1.Text + "p";
    143         }
    144 
    145         private void pictureBox16_Click(object sender, EventArgs e)
    146         {
    147             textBox1.Text = textBox1.Text + "q";
    148         }
    149 
    150         private void pictureBox17_Click(object sender, EventArgs e)
    151         {
    152             textBox1.Text = textBox1.Text + "r";
    153         }
    154 
    155         private void pictureBox18_Click(object sender, EventArgs e)
    156         {
    157             textBox1.Text = textBox1.Text + "s";
    158         }
    159 
    160         private void pictureBox19_Click(object sender, EventArgs e)
    161         {
    162             textBox1.Text = textBox1.Text + "t";
    163         }
    164 
    165         private void pictureBox20_Click(object sender, EventArgs e)
    166         {
    167             textBox1.Text = textBox1.Text + "u";
    168         }
    169 
    170         private void pictureBox21_Click(object sender, EventArgs e)
    171         {
    172             textBox1.Text = textBox1.Text + "v";
    173         }
    174 
    175         private void pictureBox22_Click(object sender, EventArgs e)
    176         {
    177             textBox1.Text = textBox1.Text + "w";
    178         }
    179 
    180         private void pictureBox23_Click(object sender, EventArgs e)
    181         {
    182             textBox1.Text = textBox1.Text + "x";
    183         }
    184 
    185         private void pictureBox24_Click(object sender, EventArgs e)
    186         {
    187             textBox1.Text = textBox1.Text + "y";
    188         }
    189 
    190         private void pictureBox25_Click(object sender, EventArgs e)
    191         {
    192             textBox1.Text = textBox1.Text + "z";
    193         }
    194 
    195         private void FrmPinYin_FormClosing(object sender, FormClosingEventArgs e)
    196         {
    197             AnimateWindow(this.Handle, 300, FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE);
    198         }
    199         public void Binder() 
    200         {
    201             string PinYin = this.textBox1.Text;
    202             StringBuilder PY = new StringBuilder(PinYin);
    203            
    204             for (int i = 0; i <= PY.Length; i++)
    205             {
    206                 PY.Insert(i, "%");
    207                 i++;
    208             }
    209             string sql = string.Format("SELECT song_name,singer_name FROM    dbo.singer_info, dbo.song_info WHERE dbo.singer_info.singer_id=dbo.song_info.singer_id AND song_ab LIKE '{0}'", PY);
    210             DataSet ds = db.dataSet(sql, "PY");
    211             if (ds.Tables["PY"]!=null)
    212             {
    213                 ds.Tables["PY"].Clear();
    214             }
    215             this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY");
    216         }
    217         private void pictureBox28_Click(object sender, EventArgs e)
    218         {
    219             string text = textBox1.Text;
    220             int index = text.Length - 1;
    221             if (index >= 0)
    222             {
    223                 textBox1.Text = text.Remove(index);
    224             }
    225         }
    226 
    227         private void textBox1_TextChanged(object sender, EventArgs e)
    228         {
    229             if (textBox1.Text!=string.Empty)
    230             {
    231                 Binder();
    232                 this.dgvPinYinInfo.AutoGenerateColumns = false;
    233             }
    234             else
    235             {
    236                 this.dgvPinYinInfo.DataSource=null;
    237             }
    238 
    239         }
    240 
    241       
    242 
    243         private void tsPYMain_Click(object sender, EventArgs e)
    244         {
    245             FrmMain main = new FrmMain();
    246             main.Show();
    247             this.Hide();
    248         }
    249 
    250         private void txPYAgain_Click(object sender, EventArgs e)
    251         {
    252             FrmMain main = new FrmMain();
    253             main.Playsong();
    254         }
    255         Song song = new Song();
    256         private void tsPYCut_Click(object sender, EventArgs e)
    257         {
    258             song.playState = SongPlayState.cut;
    259         }
    260 
    261         private void tsPYYidian_Click(object sender, EventArgs e)
    262         {
    263             FrmPlayList list = new FrmPlayList();
    264             list.Show();
    265         }
    266 
    267         private void tsPYBack_Click(object sender, EventArgs e)
    268         {
    269             Application.Exit();
    270         }       

    类型点歌

      1   public FrmMain frmMain;
      2         string connectionStr = "server=.;database=MyKTV;uid=sa";
      3         DBHelp db = new DBHelp();
      4         private SqlConnection con;
      5         private void FrmSongType_Load(object sender, EventArgs e)
      6         {
      7             con = new SqlConnection(connectionStr);
      8             con.Open();
      9             string sql = "select resource_path from resource_path where resource_id=1";
     10             string sqlsongpath = "select resource_path from resource_path where resource_id=2";
     11             SqlCommand cmd2 = new SqlCommand(sqlsongpath,con);
     12             KtvUnit.SongPath = cmd2.ExecuteScalar().ToString();
     13             SqlCommand cmd = new SqlCommand(sql, con);
     14             KtvUnit.ImagePath = cmd.ExecuteScalar().ToString();
     15             con.Close();
     16       
     17             con = new SqlConnection(connectionStr);
     18             string sql1 = string.Format("select songtype_id,songtype_name,songtype_URL from song_type");
     19             SqlCommand cmd1 = new SqlCommand(sql1, con);
     20             SqlDataReader dr;
     21             try
     22             {
     23                 con.Open();
     24                 int index = 0;
     25                 lvSongType.Items.Clear();
     26                 imageList1.Images.Clear();
     27                 dr = cmd1.ExecuteReader();
     28                 if (dr.HasRows)
     29                 {
     30                     while (dr.Read())
     31                     {
     32                         string photoURL = KtvUnit.ImagePath + Convert.ToString(dr["songtype_URL"]);
     33                         //先给ImageList填充图片
     34                         imageList1.Images.Add(Image.FromFile(photoURL));
     35                         ListViewItem lvItem = new ListViewItem();
     36                         lvItem.Text = Convert.ToString(dr["songtype_name"]);
     37                         lvItem.Tag = Convert.ToString(dr["songtype_id"]);
     38                         lvItem.ImageIndex = index;
     39                         lvSongType.Items.Add(lvItem);
     40                         index++;
     41                     }
     42                 }
     43                 dr.Close();
     44             }
     45             catch (Exception ex)
     46             {
     47 
     48                 MessageBox.Show("系统出现异常" + ex.Message);
     49             }
     50             finally
     51             {
     52                 con.Close();
     53             }
     54         }
     55         private void LoadSongType()
     56         {
     57             //读取数据库,读出该歌曲类型的所有歌曲
     58 
     59             StringBuilder sb = new StringBuilder();
     60             //拼接SQL语句
     61             sb.AppendFormat("select song_info.song_name,singer_info.singer_name,song_info.song_url from singer_info,song_info where song_info.singer_id=singer_info.singer_id and song_info.songtype_id={0}", Convert.ToInt32(lvSongType.SelectedItems[0].Tag));
     62             FrmSongList songList = new FrmSongList();
     63 
     64             songList.Sql = sb.ToString();
     65             songList.Previous = KtvClient.PrevioisForm.SongType;//指定返回的窗体是按歌曲类型点歌
     66             songList.ShowDialog();
     67             this.Close();
     68         }
     69 
     70         private void lvSongType_Click(object sender, EventArgs e)
     71         {
     72             LoadSongType();
     73         }
     74 
     75         private void tsTYSingerMain_Click(object sender, EventArgs e)
     76         {
     77             FrmMain main = new FrmMain();
     78             main.Show();
     79             this.Hide();
     80         }
     81 
     82         private void tsTYSingerAgain_Click(object sender, EventArgs e)
     83         {
     84             FrmMain main = new FrmMain();
     85             main.Playsong();
     86         }
     87         Song song = new Song();
     88         private void tsTYSingerCut_Click(object sender, EventArgs e)
     89         {
     90             song.playState = SongPlayState.cut;
     91         }
     92 
     93         private void tsTYSingerYidian_Click(object sender, EventArgs e)
     94         {
     95             FrmPlayList list = new FrmPlayList();
     96             list.Show();
     97         }
     98 
     99         private void tsTYSingerBack_Click(object sender, EventArgs e)
    100         {
    101             FrmMain main = new FrmMain();
    102             main.Show();
    103             this.Hide();
    104         }

    金榜排行

     1   public FrmMain frmMain;
     2         DBHelp db = new DBHelp();
     3         string connectionStr = "server=.;database=MyKTV;uid=sa";
     4         private void FrmJB_Load(object sender, EventArgs e)
     5         {
     6             SqlConnection con = new SqlConnection(connectionStr);
     7             con.Open();
     8             db.connection();
     9             string sql = "SELECT song_name,song_play_count FROM dbo.song_info ORDER BY song_play_count DESC";
    10             string sqlsongpath = "select resource_path from resource_path where resource_id=2";
    11             SqlCommand cmd = new SqlCommand(sqlsongpath, con);
    12             KtvUnit.SongPath = cmd.ExecuteScalar().ToString();
    13             DataSet ds = db.dataSet(sql,"Count");
    14             this.dgvSongList.DataSource = ds.Tables["Count"].DefaultView;
    15         }
    16 
    17 
    18 
    19         private void dgvSongList_Click(object sender, EventArgs e)
    20         {
    21             DBHelp db = new DBHelp();
    22             if (dgvSongList.SelectedRows[0]!=null)
    23             {
    24                 string songname = this.dgvSongList.SelectedRows[0].Cells["SongName"].Value.ToString();
    25                 db.connection();
    26                 string sql = string.Format("SELECT song_name,singer_name,song_url,song_photo_url FROM dbo.song_info,dbo.singer_info  where dbo.singer_info.singer_id=dbo.song_info.singer_id and song_name='{0}'", songname);
    27 
    28                 SqlDataReader reader = db.ExecuteReaders(sql.ToString());
    29 
    30                 Song song;
    31                 if (reader.Read())
    32                 {
    33                     song = new Song();
    34                     song.SongName = reader["song_name"].ToString();
    35                     song.SongURL = KtvUnit.SongPath + reader["song_url"].ToString();
    36                     PlayList.AddSong(song);
    37                 }
    38                 reader.Close();
    39             }
    40             else
    41             {
    42                 MessageBox.Show("");
    43             }
    44             
    45         }

    数字点歌

     1  public FrmMain frmMain;
     2         string connectionStr = "server=.;database=MyKTV;uid=sa";
     3         DBHelp db = new DBHelp();
     4         private SqlConnection con;
     5         private void FrmNumber_Load(object sender, EventArgs e)
     6         {
     7             con = new SqlConnection(connectionStr);
     8             con.Open();
     9             string sqlsongpath = "select resource_path from resource_path where resource_id=2";
    10             SqlCommand cmd = new SqlCommand(sqlsongpath, con);
    11             KtvUnit.SongPath = cmd.ExecuteScalar().ToString();
    12             con.Close();
    13             for (int i = 1; i <= 4; i++)
    14             {
    15                 for (int j = 1; j <= 3; j++)
    16                 {
    17                     Label label = new Label();
    18                     label.ForeColor = Color.Red;
    19                     label.BackColor = Color.Pink;
    20                     label.Font=new System.Drawing.Font("华文彩云",20);
    21                     label.TextAlign = ContentAlignment.MiddleCenter;
    22                     label.Click += label_Click;
    23                     this.MouseMove += FrmNumber_MouseMove;
    24                     label.MouseHover += label_MouseHover;
    25                     label.Size = new System.Drawing.Size(80, 40);
    26                     label.Text = j.ToString();
    27                     if (i > 1)
    28                     {
    29                         label.Text = (j + i + 1).ToString();
    30                     }
    31                     if (i > 2)
    32                     {
    33                         label.Text = (j + i + 3).ToString();
    34                     }
    35                     if (i > 3)
    36                     {
    37                         label.Text = (j + i + 5).ToString();
    38                     }                                  
    39                     label.Location = new Point(40 + 120 * j, 40 + 60 * i);
    40                     this.Controls.Add(label);
    41                 }
    42             }
    43         }

    已点列表

     1   private void FrmPlayList_Load(object sender, EventArgs e)
     2         {
     3             SongList();
     4         }
     5        
     6         public  void SongList() 
     7         {
     8             lvSong.Items.Clear();
     9             for (int i = 0; i < PlayList.SongList.Length; i++)
    10             {
    11                 if (PlayList.SongList[i]!=null)
    12                 {
    13                     ListViewItem item = new ListViewItem();
    14                     item.Text = PlayList.SongList[i].SongName;
    15                     item.Tag = i;
    16                     string playstate = PlayList.SongList[i].PlayState == SongPlayState.unplayed ? "未播放" : "已播";
    17                     item.SubItems.Add(playstate);
    18                     lvSong.Items.Add(item);
    19                 }
    20             }
    21         }
    22 
    23         private void btnClose_Click(object sender, EventArgs e)
    24         {
    25             this.Close();
    26         }
  • 相关阅读:
    html 输入框 只能输入数字 只能输入字母数字 等组合
    element中table高度自适应问题
    设置千分位问题(改变数据结构形式--转成字符串)
    在element的table接受数据设置千分位问题(不改变数据类型)
    element在使用tab页时,echarts只在第一个页面加载(第二个tab页也在默认tab页显示)问题
    css1
    B/S(Web)实时通讯解决方案
    WebRTC介绍及简单应用
    webpack的编译流程
    01 写一个 mySetInterVal(fn, a, b),每次间隔 a,a+b,a+2b 的时间,然后写一个 myClear,停止上面的 mySetInterVal
  • 原文地址:https://www.cnblogs.com/PGYXZ/p/4689417.html
Copyright © 2011-2022 走看看