首页 > 编程 > C# > 正文

c#实现KTV点歌系统

2019-10-29 21:39:41
字体:
来源:转载
供稿:网友

这篇文章主要用C#语言编写的KTV点歌系统,需要的朋友可以参考下

下面通过图文并茂的方式给大家分享C#实现KTV点歌系统。

c#实现KTV点歌系统

c#实现KTV点歌系统

 

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

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

 

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

c#实现KTV点歌系统

实现歌手点歌

 

 
  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. con = new SqlConnection(connectionStr); 
  8. con.Open(); 
  9. string sql = "select resource_path from resource_path where resource_id= "
  10. string sqlsongpath = "select resource_path from resource_path where resource_id= "
  11. SqlCommand cmd = new SqlCommand(sql,con); 
  12. SqlCommand cmd = new SqlCommand(sqlsongpath, con); 
  13. KtvUnit.ImagePath = cmd.ExecuteScalar().ToString(); 
  14. KtvUnit.SongPath = cmd .ExecuteScalar().ToString(); 
  15. con.Close(); 
  16. //点击歌手男女或组合时 
  17. private void LvOne_Click(object sender, EventArgs e) 
  18. LoadSingerArea(); 
  19. public string singer_type { get; set; } 
  20. private void LoadSingerArea() 
  21. if (this.LvOne.SelectedItems[ ] != null
  22. LvOne.Visible = false
  23. LvTwo.Location = LvOne.Location; 
  24. LvTwo.Dock = DockStyle.Fill; 
  25. LvTwo.Visible = true
  26. this.singer_type=Convert.ToString(LvOne.SelectedItems[ ].Text); 
  27. con = new SqlConnection(connectionStr); 
  28. string sql = "select singertype_id,singertype_name from singer_type"
  29. SqlCommand cmd = new SqlCommand(sql, con); 
  30. SqlDataReader dr; 
  31. try 
  32. con.Open(); 
  33. LvTwo.Items.Clear(); 
  34. dr = cmd.ExecuteReader();  
  35. if (dr.HasRows) 
  36. int index = ; 
  37. while (dr.Read()) 
  38. ListViewItem lvItem = new ListViewItem(); 
  39. int typeid = Convert.ToInt (dr["singertype_id"]); 
  40. string typename = Convert.ToString(dr["singertype_name"]); 
  41. lvItem.Text = typename; 
  42. lvItem.Tag = typeid; 
  43. lvItem.ImageIndex = index; 
  44. LvTwo.Items.Add(lvItem); 
  45. index++; 
  46. dr.Close(); 
  47. catch (Exception ex) 
  48. MessageBox.Show("系统出现异常" + ex.Message); 
  49. finally  
  50. con.Close(); 
  51. public string singertype_id { get; set; } 
  52. /// <summary> 
  53. /// 点击地区类型时 
  54. /// </summary> 
  55. /// <param name="sender"></param> 
  56. /// <param name="e"></param> 
  57. private void LvTwo_Click(object sender, EventArgs e) 
  58. if (this.LvTwo.SelectedItems[ ] != null
  59. LvTwo.Visible = false
  60. Lvthree.Location = LvTwo.Location; 
  61. Lvthree.Dock = DockStyle.Fill; 
  62. Lvthree.Visible = true
  63. this.singertype_id = Convert.ToString(LvTwo.SelectedItems[ ].Tag); 
  64. string result = singer_type; 
  65. if (result != "组合"
  66. result = singer_type == "女歌手" ? "女" : "男"
  67. con = new SqlConnection(connectionStr); 
  68. string sql =string.Format( "select singer_id,singer_name,singer_photo_url from singer_info where singertype_id={ } and singer_Sex='{ }'",singertype_id,result); 
  69. SqlCommand cmd = new SqlCommand(sql, con); 
  70. SqlDataReader dr; 
  71. try 
  72. con.Open(); 
  73. int index = ; 
  74. Lvthree.Items.Clear(); 
  75. imageList .Images.Clear(); 
  76. dr = cmd.ExecuteReader(); 
  77. if (dr.HasRows) 
  78. {  
  79. while (dr.Read()) 
  80. {  
  81. string photoURL =KtvUnit.ImagePath + Convert.ToString(dr["singer_photo_url"]); 
  82. //先给ImageList填充图片 
  83. imageList .Images.Add(Image.FromFile(photoURL)); 
  84. ListViewItem lvItem = new ListViewItem(); 
  85. lvItem.Text = Convert.ToString(dr["singer_name"]); 
  86. lvItem.Tag = Convert.ToString(dr["singer_id"]); 
  87. lvItem.ImageIndex = index; 
  88. Lvthree.Items.Add(lvItem); 
  89. index++; 
  90. dr.Close(); 
  91. catch (Exception ex) 
  92. MessageBox.Show("系统出现异常" + ex.Message); 
  93. finally 
  94. con.Close(); 
  95. public void SongList() 
  96. //读取数据库,读出该歌手的所有歌曲 
  97. StringBuilder sb = new StringBuilder(); 
  98. //拼接SQL语句 
  99. sb.AppendFormat("select song_id,song_name,song_url,singer_name from song_info,singer_info where singer_name='{ }' and song_info.singer_id={ }", Lvthree.SelectedItems[ ].Text, Convert.ToInt (Lvthree.SelectedItems[ ].Tag)); 
  100. FrmSongList songList = new FrmSongList(); 
  101. songList.Sql = sb.ToString(); 
  102. songList.Previous = KtvClient.PrevioisForm.Singer;//指定返回的窗体是按歌手点歌 
  103. songList.ShowDialog(); 
  104. this.Close(); 
  105. private void Lvthree_Click(object sender, EventArgs e) 
  106. SongList(); 
  107. private void tsSingerMain_Click(object sender, EventArgs e) 
  108. FrmMain main = new FrmMain(); 
  109. main.Show(); 
  110. this.Hide(); 
  111. private void tsSingerBack_Click(object sender, EventArgs e) 
  112. if (this.LvOne.Visible==true
  113. FrmMain man = new FrmMain(); 
  114. man.Show(); 
  115. this.Hide(); 
  116. else if (this.LvTwo.Visible==true
  117. this.LvTwo.Visible = false
  118. this.LvOne.Visible = true
  119. else if (this.Lvthree.Visible==true
  120. this.Lvthree.Visible = false
  121. this.LvTwo.Visible = true
  122. private void tsSingerCut_Click(object sender, EventArgs e) 
  123. PlayList.CutSong(- ); 
  124. private void tsSingerAgain_Click(object sender, EventArgs e) 
  125. PlayList.PlayAgain(); 
  126. private void tsSingerYidian_Click(object sender, EventArgs e) 
  127. FrmPlayList frm = new FrmPlayList(); 
  128. frm.Show(); 

拼音点歌

c#实现KTV点歌系统

 

 
  1. public FrmMain frmMain; 
  2. [DllImportAttribute("user .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. AnimateWindow(this.Handle, , FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE); 
  8. SqlConnection con = new SqlConnection(connectionStr); 
  9. con.Open(); 
  10. db.connection();  
  11. string sqlsongpath = "select resource_path from resource_path where resource_id= "
  12. SqlCommand cmd = new SqlCommand(sqlsongpath, con); 
  13. KtvUnit.SongPath = cmd.ExecuteScalar().ToString(); 
  14. private void btnSearch_Click(object sender, EventArgs e) 
  15. string PinYin = this.txtPinYin.Text; 
  16. //判断是否是中文 还是拼音 
  17. if (!Regex.IsMatch(this.txtPinYin.Text, @"^[/u e -/u fa ]+$")) 
  18. StringBuilder PY = new StringBuilder(PinYin); 
  19. for (int i = ; i <= PY.Length; i++) 
  20. PY.Insert(i, "%"); 
  21. i++; 
  22. 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 '{ }'", PY); 
  23. this.dgvPinYinInfo.DataSource = db.dataTable(sql,"PY"); 
  24. else 
  25. StringBuilder ZW = new StringBuilder(PinYin); 
  26. for (int i = ; i < ZW.Length; i++) 
  27. ZW.Insert(i,"%"); 
  28. i++; 
  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_name LIKE '{ }'", ZW); 
  30. this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY"); 
  31. private void dgvPinYinInfo_DoubleClick(object sender, EventArgs e) 
  32. string songname = this.dgvPinYinInfo.SelectedRows[ ].Cells["song_name"].Value.ToString(); 
  33. DBHelp db = new DBHelp(); 
  34. db.connection(); 
  35. 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='{ }'",songname); 
  36. SqlDataReader reader = db.ExecuteReaders(sql.ToString()); 
  37. Song song; 
  38. if (reader.Read()) 
  39. song = new Song(); 
  40. song.SongName = reader["song_name"].ToString(); 
  41. song.SongURL = KtvUnit.SongPath+reader["song_url"].ToString(); 
  42. PlayList.AddSong(song);  
  43. reader.Close(); 
  44. private void pictureBox _Click(object sender, EventArgs e) 
  45. textBox .Text = textBox .Text + "a"
  46. private void pictureBox _Click(object sender, EventArgs e) 
  47. textBox .Text = textBox .Text + "b"
  48. private void pictureBox _Click(object sender, EventArgs e) 
  49. textBox .Text = textBox .Text + "c"
  50. private void pictureBox _Click(object sender, EventArgs e) 
  51. textBox .Text = textBox .Text + "d"
  52. private void pictureBox _Click(object sender, EventArgs e) 
  53. textBox .Text = textBox .Text + "e"
  54. private void pictureBox _Click(object sender, EventArgs e) 
  55. textBox .Text = textBox .Text + "f"
  56. private void pictureBox _Click(object sender, EventArgs e) 
  57. textBox .Text = textBox .Text + "g"
  58. private void pictureBox _Click(object sender, EventArgs e) 
  59. textBox .Text = textBox .Text + "h"
  60. private void pictureBox _Click(object sender, EventArgs e) 
  61. textBox .Text = textBox .Text + "i"
  62. private void pictureBox _Click(object sender, EventArgs e) 
  63. textBox .Text = textBox .Text + "j"
  64. private void pictureBox _Click(object sender, EventArgs e) 
  65. textBox .Text = textBox .Text + "k"
  66. private void pictureBox _Click(object sender, EventArgs e) 
  67. textBox .Text = textBox .Text + "l"
  68. private void pictureBox _Click(object sender, EventArgs e) 
  69. textBox .Text = textBox .Text + "m"
  70. private void pictureBox _Click(object sender, EventArgs e) 
  71. textBox .Text = textBox .Text + "n"
  72. private void pictureBox _Click(object sender, EventArgs e) 
  73. textBox .Text = textBox .Text + "o"
  74. private void pictureBox _Click(object sender, EventArgs e) 
  75. textBox .Text = textBox .Text + "p"
  76. private void pictureBox _Click(object sender, EventArgs e) 
  77. textBox .Text = textBox .Text + "q"
  78. private void pictureBox _Click(object sender, EventArgs e) 
  79. textBox .Text = textBox .Text + "r"
  80. private void pictureBox _Click(object sender, EventArgs e) 
  81. textBox .Text = textBox .Text + "s"
  82. private void pictureBox _Click(object sender, EventArgs e) 
  83. textBox .Text = textBox .Text + "t"
  84. private void pictureBox _Click(object sender, EventArgs e) 
  85. textBox .Text = textBox .Text + "u"
  86. private void pictureBox _Click(object sender, EventArgs e) 
  87. textBox .Text = textBox .Text + "v"
  88. private void pictureBox _Click(object sender, EventArgs e) 
  89. textBox .Text = textBox .Text + "w"
  90. private void pictureBox _Click(object sender, EventArgs e) 
  91. textBox .Text = textBox .Text + "x"
  92. private void pictureBox _Click(object sender, EventArgs e) 
  93. textBox .Text = textBox .Text + "y"
  94. private void pictureBox _Click(object sender, EventArgs e) 
  95. textBox .Text = textBox .Text + "z"
  96. private void FrmPinYin_FormClosing(object sender, FormClosingEventArgs e) 
  97. AnimateWindow(this.Handle, , FrmMain.AW_SLIDE + FrmMain.AW_VER_POSITIVE); 
  98. public void Binder()  
  99. string PinYin = this.textBox .Text; 
  100. StringBuilder PY = new StringBuilder(PinYin); 
  101. for (int i = ; i <= PY.Length; i++) 
  102. PY.Insert(i, "%"); 
  103. i++; 
  104. 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 '{ }'", PY); 
  105. DataSet ds = db.dataSet(sql, "PY"); 
  106. if (ds.Tables["PY"]!=null
  107. ds.Tables["PY"].Clear(); 
  108. this.dgvPinYinInfo.DataSource = db.dataTable(sql, "PY"); 
  109. private void pictureBox _Click(object sender, EventArgs e) 
  110. string text = textBox .Text; 
  111. int index = text.Length - ; 
  112. if (index >= ) 
  113. textBox .Text = text.Remove(index); 
  114. private void textBox _TextChanged(object sender, EventArgs e) 
  115. if (textBox .Text!=string.Empty) 
  116. Binder(); 
  117. this.dgvPinYinInfo.AutoGenerateColumns = false
  118. else 
  119. this.dgvPinYinInfo.DataSource=null
  120. private void tsPYMain_Click(object sender, EventArgs e) 
  121. FrmMain main = new FrmMain(); 
  122. main.Show(); 
  123. this.Hide(); 
  124. private void txPYAgain_Click(object sender, EventArgs e) 
  125. FrmMain main = new FrmMain(); 
  126. main.Playsong(); 
  127. Song song = new Song(); 
  128. private void tsPYCut_Click(object sender, EventArgs e) 
  129. song.playState = SongPlayState.cut; 
  130. private void tsPYYidian_Click(object sender, EventArgs e) 
  131. FrmPlayList list = new FrmPlayList(); 
  132. list.Show(); 
  133. private void tsPYBack_Click(object sender, EventArgs e) 
  134. Application.Exit(); 

类型点歌

 

 
  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. con = new SqlConnection(connectionStr); 
  7. con.Open(); 
  8. string sql = "select resource_path from resource_path where resource_id= "
  9. string sqlsongpath = "select resource_path from resource_path where resource_id= "
  10. SqlCommand cmd = new SqlCommand(sqlsongpath,con); 
  11. KtvUnit.SongPath = cmd .ExecuteScalar().ToString(); 
  12. SqlCommand cmd = new SqlCommand(sql, con); 
  13. KtvUnit.ImagePath = cmd.ExecuteScalar().ToString(); 
  14. con.Close(); 
  15. con = new SqlConnection(connectionStr); 
  16. string sql = string.Format("select songtype_id,songtype_name,songtype_URL from song_type"); 
  17. SqlCommand cmd = new SqlCommand(sql , con); 
  18. SqlDataReader dr; 
  19. try 
  20. con.Open(); 
  21. int index = ; 
  22. lvSongType.Items.Clear(); 
  23. imageList .Images.Clear(); 
  24. dr = cmd .ExecuteReader(); 
  25. if (dr.HasRows) 
  26. while (dr.Read()) 
  27. string photoURL = KtvUnit.ImagePath + Convert.ToString(dr["songtype_URL"]); 
  28. //先给ImageList填充图片 
  29. imageList .Images.Add(Image.FromFile(photoURL)); 
  30. ListViewItem lvItem = new ListViewItem(); 
  31. lvItem.Text = Convert.ToString(dr["songtype_name"]); 
  32. lvItem.Tag = Convert.ToString(dr["songtype_id"]); 
  33. lvItem.ImageIndex = index; 
  34. lvSongType.Items.Add(lvItem); 
  35. index++; 
  36. dr.Close(); 
  37. catch (Exception ex) 
  38. MessageBox.Show("系统出现异常" + ex.Message); 
  39. finally 
  40. con.Close(); 
  41. private void LoadSongType() 
  42. //读取数据库,读出该歌曲类型的所有歌曲 
  43. StringBuilder sb = new StringBuilder(); 
  44. //拼接SQL语句 
  45. 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={ }", Convert.ToInt (lvSongType.SelectedItems[ ].Tag)); 
  46. FrmSongList songList = new FrmSongList(); 
  47. songList.Sql = sb.ToString(); 
  48. songList.Previous = KtvClient.PrevioisForm.SongType;//指定返回的窗体是按歌曲类型点歌 
  49. songList.ShowDialog(); 
  50. this.Close(); 
  51. private void lvSongType_Click(object sender, EventArgs e) 
  52. LoadSongType(); 
  53. private void tsTYSingerMain_Click(object sender, EventArgs e) 
  54. FrmMain main = new FrmMain(); 
  55. main.Show(); 
  56. this.Hide(); 
  57. private void tsTYSingerAgain_Click(object sender, EventArgs e) 
  58. FrmMain main = new FrmMain(); 
  59. main.Playsong(); 
  60. Song song = new Song(); 
  61. private void tsTYSingerCut_Click(object sender, EventArgs e) 
  62. song.playState = SongPlayState.cut; 
  63. private void tsTYSingerYidian_Click(object sender, EventArgs e) 
  64. FrmPlayList list = new FrmPlayList(); 
  65. list.Show(); 
  66. private void tsTYSingerBack_Click(object sender, EventArgs e) 
  67. FrmMain main = new FrmMain(); 
  68. main.Show(); 
  69. this.Hide(); 

金榜排行

c#实现KTV点歌系统

 

 
  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. SqlConnection con = new SqlConnection(connectionStr); 
  6. con.Open(); 
  7. db.connection(); 
  8. string sql = "SELECT song_name,song_play_count FROM dbo.song_info ORDER BY song_play_count DESC"
  9. string sqlsongpath = "select resource_path from resource_path where resource_id= "
  10. SqlCommand cmd = new SqlCommand(sqlsongpath, con); 
  11. KtvUnit.SongPath = cmd.ExecuteScalar().ToString(); 
  12. DataSet ds = db.dataSet(sql,"Count"); 
  13. this.dgvSongList.DataSource = ds.Tables["Count"].DefaultView; 
  14. private void dgvSongList_Click(object sender, EventArgs e) 
  15. DBHelp db = new DBHelp(); 
  16. if (dgvSongList.SelectedRows[ ]!=null
  17. string songname = this.dgvSongList.SelectedRows[ ].Cells["SongName"].Value.ToString(); 
  18. db.connection(); 
  19. 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='{ }'", songname); 
  20. SqlDataReader reader = db.ExecuteReaders(sql.ToString()); 
  21. Song song; 
  22. if (reader.Read()) 
  23. song = new Song(); 
  24. song.SongName = reader["song_name"].ToString(); 
  25. song.SongURL = KtvUnit.SongPath + reader["song_url"].ToString(); 
  26. PlayList.AddSong(song); 
  27. reader.Close(); 
  28. else 
  29. MessageBox.Show("空"); 

数字点歌

 

 
  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. con = new SqlConnection(connectionStr); 
  7. con.Open(); 
  8. string sqlsongpath = "select resource_path from resource_path where resource_id= "
  9. SqlCommand cmd = new SqlCommand(sqlsongpath, con); 
  10. KtvUnit.SongPath = cmd.ExecuteScalar().ToString(); 
  11. con.Close(); 
  12. for (int i = ; i <= ; i++) 
  13. for (int j = ; j <= ; j++) 
  14. Label label = new Label(); 
  15. label.ForeColor = Color.Red; 
  16. label.BackColor = Color.Pink; 
  17. label.Font=new System.Drawing.Font("华文彩云", ); 
  18. label.TextAlign = ContentAlignment.MiddleCenter; 
  19. label.Click += label_Click; 
  20. this.MouseMove += FrmNumber_MouseMove; 
  21. label.MouseHover += label_MouseHover; 
  22. label.Size = new System.Drawing.Size( , ); 
  23. label.Text = j.ToString(); 
  24. if (i > ) 
  25. label.Text = (j + i + ).ToString(); 
  26. if (i > ) 
  27. label.Text = (j + i + ).ToString(); 
  28. if (i > ) 
  29. label.Text = (j + i + ).ToString(); 
  30. }  
  31. label.Location = new Point( + * j, + * i); 
  32. this.Controls.Add(label); 

已点列表

c#实现KTV点歌系统

 

 
  1. private void FrmPlayList_Load(object sender, EventArgs e) 
  2. SongList(); 
  3. public void SongList()  
  4. lvSong.Items.Clear(); 
  5. for (int i = ; i < PlayList.SongList.Length; i++) 
  6. if (PlayList.SongList[i]!=null
  7. ListViewItem item = new ListViewItem(); 
  8. item.Text = PlayList.SongList[i].SongName; 
  9. item.Tag = i; 
  10. string playstate = PlayList.SongList[i].PlayState == SongPlayState.unplayed ? "未播放" : "已播"
  11. item.SubItems.Add(playstate); 
  12. lvSong.Items.Add(item); 
  13. private void btnClose_Click(object sender, EventArgs e) 
  14. this.Close(); 

以上就是C#实现KTV点歌系统的全部代码,希望大家喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表