<span style="max-width:90%">//</span><span style="color: #008000;">連接字符串</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span> str = <span style="color: #800000;">"</span><span style="color: #800000;">Data Source=HYJ-PC;Initial Catalog=MyKTV;User ID=sa;pwd=123</span><span style="color: #800000;">"</span>;
<span style="color: #008000;">//</span><span style="color: #008000;">保存歌曲的目錄</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span> songURL = <span style="color: #800000;">""</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">保存歌手圖片的目錄</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span> singer_photoURL = <span style="color: #800000;">""</span><span style="color: #000000;">; FrmByValue類(窗體對(duì)象之間的傳值) </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> frmsonglist frmsl; </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> FrmMain frM; </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> SelectedSong ss;
<span style="color: #008000;">//</span><span style="color: #008000;">定義一個(gè)枚舉:歌曲播放狀態(tài)</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">enum</span><span style="color: #000000;"> SongPlayState { unplayed, played, newplayed, cut } </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Song { </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> SongName { </span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span><span style="color: #000000;"> songName; } </span><span style="color: #0000ff;">set</span> { songName =<span style="color: #000000;"> value; } } </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> SongURL { </span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span><span style="color: #000000;"> songURL; } </span><span style="color: #0000ff;">set</span> { songURL =<span style="color: #000000;"> value; } } </span><span style="color: #0000ff;">internal</span><span style="color: #000000;"> SongPlayState Playseat { </span><span style="color: #0000ff;">get</span> { <span style="color: #0000ff;">return</span><span style="color: #000000;"> playseat; } </span><span style="color: #0000ff;">set</span> { playseat =<span style="color: #000000;"> value; } } </span><span style="color: #0000ff;">PRivate</span> <span style="color: #0000ff;">string</span> songName;<span style="color: #008000;">//</span><span style="color: #008000;">歌曲名稱字段</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">string</span> songURL;<span style="color: #008000;">//</span><span style="color: #008000;">歌曲存放路徑字段 </span><span style="color: #008000;">//</span><span style="color: #008000;">讓歌曲的播放狀態(tài)默認(rèn)為未播放;</span> <span style="color: #0000ff;">private</span> SongPlayState playseat =<span style="color: #000000;"> SongPlayState.unplayed; </span><span style="color: #008000;">//</span><span style="color: #008000;">把歌曲狀態(tài)改為已播放</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> SetSongPlayed() { </span><span style="color: #0000ff;">this</span>.playseat =<span style="color: #000000;"> SongPlayState.played; } </span><span style="color: #008000;">//</span><span style="color: #008000;">把歌曲狀態(tài)改為重唱</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> SetnewSong() { </span><span style="color: #0000ff;">this</span>.playseat =<span style="color: #000000;"> SongPlayState.newplayed; } </span><span style="color: #008000;">//</span><span style="color: #008000;">把歌曲狀態(tài)改為一切歌</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> Setcut() { </span><span style="color: #0000ff;">this</span>.playseat =<span style="color: #000000;"> SongPlayState.cut; }</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> PlayList { </span><span style="color: #008000;">//</span><span style="color: #008000;">定義一個(gè)數(shù)組,默認(rèn)可以儲(chǔ)存50首歌</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> Song[] songList=<span style="color: #0000ff;">new</span> Song[<span style="color: #800080;">50</span>];<span style="color: #008000;">//</span><span style="color: #008000;">歌曲播放列表數(shù)組</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">int</span> songIndex;<span style="color: #008000;">//</span><span style="color: #008000;">當(dāng)前播放的歌曲在數(shù)組的索引</span> <span style="color: #0000ff;">#region</span> 添加播放歌曲 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">bool</span><span style="color: #000000;"> AddSong(Song song) { </span><span style="color: #0000ff;">bool</span> happy = <span style="color: #0000ff;">false</span><span style="color: #000000;">; </span><span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">int</span> i = <span style="color: #800080;">0</span>; i < songList.Length; i++<span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span> (songList[i] == <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songList[i] </span>=<span style="color: #000000;"> song; happy </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; </span><span style="color: #0000ff;">break</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> happy; } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 當(dāng)前播放的歌曲名稱 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> PlayingSongName() { </span><span style="color: #0000ff;">string</span> songName = <span style="color: #800000;">""</span>; <span style="color: #008000;">//</span><span style="color: #008000;"> 歌曲名稱</span> <span style="color: #0000ff;">if</span>(songList.Length><span style="color: #000000;">songIndex) { </span><span style="color: #0000ff;">if</span> (songList[songIndex] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songName </span>=<span style="color: #000000;"> songList[songIndex].SongName; } } </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> songName; } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 獲取當(dāng)前播放的歌曲 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> Song GetPlayingSong() { </span><span style="color: #0000ff;">if</span>(songIndex<<span style="color: #000000;">songList.Length) { </span><span style="color: #0000ff;">if</span> (songList[songIndex] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> songList[songIndex]; } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 下一首要播放的歌曲名稱 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> NextSongName() { </span><span style="color: #0000ff;">string</span> songName = <span style="color: #800000;">""</span>; <span style="color: #008000;">//</span><span style="color: #008000;"> 歌曲名稱</span> <span style="color: #0000ff;">if</span>(songIndex<<span style="color: #000000;">songList.Length) { </span><span style="color: #0000ff;">if</span> (songList.Length > songIndex + <span style="color: #800080;">1</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span> (songList[songIndex + <span style="color: #800080;">1</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songName </span>= songList[songIndex + <span style="color: #800080;">1</span><span style="color: #000000;">].SongName; } } } </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> songName; } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 切歌: <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> CutSong() { </span><span style="color: #008000;">//</span><span style="color: #008000;">代表切歌的位置</span> <span style="color: #0000ff;">int</span> i =<span style="color: #000000;"> songIndex; </span><span style="color: #0000ff;">if</span> (songList[i]!=<span style="color: #0000ff;">null</span><span style="color: #000000;">) { songList[i].Setcut(); } </span><span style="color: #0000ff;">while</span> (songList[i] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songList[i] </span>= songList[i + <span style="color: #800080;">1</span><span style="color: #000000;">]; i</span>++<span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;"> 如果到達(dá)數(shù)組最后一個(gè)元素,就將最后一個(gè)元素指向空</span> <span style="color: #0000ff;">if</span> (i ==<span style="color: #000000;"> songList.Length) { songList[i] </span>= <span style="color: #0000ff;">null</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">if</span> (songList[<span style="color: #800080;">0</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songList[</span><span style="color: #800080;">0</span>].Playseat =<span style="color: #000000;"> SongPlayState.played; } } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 重放當(dāng)前歌曲 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> PlayAgain() { </span><span style="color: #0000ff;">if</span> (songList[songIndex] != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { songList[songIndex].SetnewSong(); } } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #0000ff;">#region</span> 播放下一首 <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> MoveOn() { </span><span style="color: #0000ff;">if</span>(songIndex<<span style="color: #000000;">songList.Length) { </span><span style="color: #0000ff;">if</span> (songList[songIndex] != <span style="color: #0000ff;">null</span> && songList[songIndex].Playseat ==<span style="color: #000000;"> SongPlayState.newplayed) { songList[songIndex].SetSongPlayed(); } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { songIndex</span>++<span style="color: #000000;">; } } } </span><span style="color: #0000ff;">#endregion</span><span style="color: #000000;"> }</span>
<span style="color: #0000ff;">#region</span> 讓窗體實(shí)現(xiàn)拖動(dòng) <span style="color: #0000ff;">public</span> Point mouSEOffset; <span style="color: #008000;">//</span><span style="color: #008000;">記錄鼠標(biāo)指針的坐標(biāo) </span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span> isMouseDown = <span style="color: #0000ff;">false</span>; <span style="color: #008000;">//</span><span style="color: #008000;">記錄鼠標(biāo)按鍵是否按下 </span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseDown(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> xOffset; </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> yOffset; </span><span style="color: #0000ff;">if</span> (e.Button ==<span style="color: #000000;"> MouseButtons.Left) { xOffset </span>= -e.X -<span style="color: #000000;"> SystemInformation.FrameBorderSize.Width; yOffset </span>= -e.Y - SystemInformation.CaptionHeight -<span style="color: #000000;"> SystemInformation.FrameBorderSize.Height; mouseOffset </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Point(xOffset, yOffset); isMouseDown </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseMove(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (isMouseDown) { Point mousePos </span>=<span style="color: #000000;"> Control.MousePosition; mousePos.Offset(mouseOffset.X </span>+ <span style="color: #800080;">5</span>, mouseOffset.Y + <span style="color: #800080;">30</span><span style="color: #000000;">); Location </span>=<span style="color: #000000;"> mousePos; } } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseUp(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 修改鼠標(biāo)狀態(tài)isMouseDown的值 </span><span style="color: #008000;">//</span><span style="color: #008000;"> 確保只有鼠標(biāo)左鍵按下并移動(dòng)時(shí),才移動(dòng)窗體 </span> <span style="color: #0000ff;">if</span> (e.Button ==<span style="color: #000000;"> MouseButtons.Left) { isMouseDown </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">#endregion</span>
<span style="color: #008000;">//</span><span style="color: #008000;">當(dāng)前播放的歌曲</span> <span style="color: #0000ff;">public</span><span style="color: #000000;"> Song songname; </span><span style="color: #0000ff;">#region</span> 讓窗體實(shí)現(xiàn)拖動(dòng) <span style="color: #0000ff;">public</span> Point mouseOffset; <span style="color: #008000;">//</span><span style="color: #008000;">記錄鼠標(biāo)指針的坐標(biāo) </span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span> isMouseDown = <span style="color: #0000ff;">false</span>; <span style="color: #008000;">//</span><span style="color: #008000;">記錄鼠標(biāo)按鍵是否按下 </span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseDown(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> xOffset; </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> yOffset; </span><span style="color: #0000ff;">if</span> (e.Button ==<span style="color: #000000;"> MouseButtons.Left) { xOffset </span>= -e.X -<span style="color: #000000;"> SystemInformation.FrameBorderSize.Width; yOffset </span>= -e.Y - SystemInformation.CaptionHeight -<span style="color: #000000;"> SystemInformation.FrameBorderSize.Height; mouseOffset </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Point(xOffset, yOffset); isMouseDown </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseMove(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (isMouseDown) { Point mousePos </span>=<span style="color: #000000;"> Control.MousePosition; mousePos.Offset(mouseOffset.X </span>+ <span style="color: #800080;">5</span>, mouseOffset.Y + <span style="color: #800080;">30</span><span style="color: #000000;">); Location </span>=<span style="color: #000000;"> mousePos; } } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_MouseUp(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, MouseEventArgs e) { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 修改鼠標(biāo)狀態(tài)isMouseDown的值 </span><span style="color: #008000;">//</span><span style="color: #008000;"> 確保只有鼠標(biāo)左鍵按下并移動(dòng)時(shí),才移動(dòng)窗體 </span> <span style="color: #0000ff;">if</span> (e.Button ==<span style="color: #000000;"> MouseButtons.Left) { isMouseDown </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">; } } </span><span style="color: #0000ff;">#endregion</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 點(diǎn)擊退出按鈕觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnexit_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { application.Exit(); } </span><span style="color: #008000;">//</span><span style="color: #008000;"> Login事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> FrmMain_Load(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { </span><span style="color: #008000;">//</span><span style="color: #008000;">把整個(gè)窗體對(duì)象賦給FrmByValue的靜態(tài)frM對(duì)象</span> FrmByValue.frM = <span style="color: #0000ff;">this</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">運(yùn)行窗體時(shí)啟動(dòng)定時(shí)器</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.tilist_played.Start(); </span><span style="color: #008000;">//</span><span style="color: #008000;">調(diào)用查詢返回路徑的方法,傳入SQL語句 </span><span style="color: #008000;">//</span><span style="color: #008000;"> 歌曲路徑</span> <span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select resource_path from Resource_path where resource_id=1</span><span style="color: #800000;">"</span><span style="color: #000000;">; KtvHelper.songURL </span>=<span style="color: #000000;"> song_path(sql); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 歌手圖片路徑</span> <span style="color: #0000ff;">string</span> sql1 = <span style="color: #800000;">"</span><span style="color: #800000;">select resource_path from Resource_path where resource_id=2</span><span style="color: #800000;">"</span><span style="color: #000000;">; KtvHelper.singer_photoURL </span>=<span style="color: #000000;"> song_path(sql1); } </span><span style="color: #808080;">///</span> <span style="color: #808080;"><summary></span> <span style="color: #808080;">///</span><span style="color: #008000;"> 查詢返回路徑的方法 </span><span style="color: #808080;">///</span> <span style="color: #808080;"></summary></span> <span style="color: #808080;">///</span> <span style="color: #808080;"><param name="sql"></span><span style="color: #008000;">傳入sql語句</span><span style="color: #808080;"></param></span> <span style="color: #808080;">///</span> <span style="color: #808080;"><returns></span><span style="color: #008000;">根據(jù)傳入的sql語句返回不同的路徑(1.resource_id=1歌曲路徑:resource_id=2歌手圖片路徑)</span><span style="color: #808080;"></returns></span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">string</span> song_path(<span style="color: #0000ff;">string</span><span style="color: #000000;"> sql) { SqlConnection con </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str); SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql, con); </span><span style="color: #0000ff;">string</span> path = <span style="color: #800000;">""</span><span style="color: #000000;">; </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> { con.Open(); SqlDataReader dr </span>=<span style="color: #000000;"> cmd.ExecuteReader(); </span><span style="color: #0000ff;">if</span> (dr != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (dr.HasRows) { </span><span style="color: #0000ff;">while</span><span style="color: #000000;"> (dr.Read()) { path </span>= dr[<span style="color: #800000;">"</span><span style="color: #800000;">resource_path</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString(); } } } } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (Exception) { MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">網(wǎng)絡(luò)異常!</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">finally</span><span style="color: #000000;"> { con.Close(); } </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> path; } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊顯示播放觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnshow_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.Width == <span style="color: #800080;">567</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">this</span>.Width = <span style="color: #0000ff;">this</span>.Width + <span style="color: #800080;">208</span><span style="color: #000000;">; btnshow.Text </span>= <span style="color: #800000;">"</span><span style="color: #800000;">隱 藏 播 放</span><span style="color: #800000;">"</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">else</span> <span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.Width > <span style="color: #800080;">567</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">this</span>.Width = <span style="color: #800080;">567</span><span style="color: #000000;">; btnshow.Text </span>= <span style="color: #800000;">"</span><span style="color: #800000;">顯 示 播 放</span><span style="color: #800000;">"</span><span style="color: #000000;">; } } </span><span style="color: #008000;">//</span><span style="color: #008000;">已點(diǎn)歌曲窗體</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnopen_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { SelectedSong frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SelectedSong(); </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); frm.Show(); } </span><span style="color: #008000;">//</span><span style="color: #008000;"> 點(diǎn)擊拼音點(diǎn)歌觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnspell_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { frmbySongname frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> frmbySongname(); </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); frm.Show(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊字?jǐn)?shù)點(diǎn)歌觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnum_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { frmbyziSong frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> frmbyziSong(); </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); frm.Show(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊類型點(diǎn)歌觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btntype_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { frmbyTypesong frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> frmbyTypesong(); </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); frm.Show(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">定時(shí)掃描歌曲列表,顯示當(dāng)前播放歌曲的名稱</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> ShowPlayingSongName() { txtopen.Text </span>=<span style="color: #000000;"> PlayList.PlayingSongName(); txtnext.Text </span>=<span style="color: #000000;"> PlayList.NextSongName(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">播放歌曲的方法</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> PlaySong() { </span><span style="color: #008000;">//</span><span style="color: #008000;"> 獲取當(dāng)前要播放的歌曲</span> <span style="color: #0000ff;">this</span>.songname =<span style="color: #000000;"> PlayList.GetPlayingSong(); </span><span style="color: #0000ff;">if</span> (songname != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">#region</span> 播放時(shí)顯示歌曲圖片 <span style="color: #0000ff;">string</span> name =<span style="color: #000000;"> songname.SongName; </span><span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select singer_id from song_info where song_name ='</span><span style="color: #800000;">"</span> + name + <span style="color: #800000;">"</span><span style="color: #800000;">' </span><span style="color: #800000;">"</span><span style="color: #000000;">; SqlConnection con </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str); con.Open(); SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql, con); </span><span style="color: #0000ff;">int</span> singerid =<span style="color: #000000;"> Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); </span><span style="color: #0000ff;">string</span> sql1 = <span style="color: #800000;">"</span><span style="color: #800000;">select singer_photo from singer_info where singer_id=</span><span style="color: #800000;">"</span> + singerid + <span style="color: #800000;">""</span><span style="color: #000000;">; SqlConnection con1 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str); con1.Open(); SqlCommand cmd1 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql1, con1); </span><span style="color: #0000ff;">string</span> singer_photo =<span style="color: #000000;"> cmd1.ExecuteScalar().ToString(); con1.Close(); plist.Image </span>= Image.FromFile(KtvHelper.singer_photoURL +<span style="color: #000000;"> singer_photo); </span><span style="color: #0000ff;">#endregion</span> <span style="color: #008000;">//</span><span style="color: #008000;"> 將當(dāng)前歌曲播放狀態(tài)設(shè)為已播放</span> <span style="color: #0000ff;">this</span><span style="color: #000000;">.songname.SetSongPlayed(); </span><span style="color: #008000;">//</span><span style="color: #008000;"> 得到當(dāng)前播放歌曲的路徑</span> Playerlist.URL = KtvHelper.songURL +<span style="color: #000000;"> songname.SongURL; } } </span><span style="color: #008000;">//</span><span style="color: #008000;">計(jì)時(shí)器控件的Tick事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> tilist_played_Tick(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ShowPlayingSongName(); </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">this</span>.songname==<span style="color: #0000ff;">null</span><span style="color: #000000;">) { </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.PlaySong(); } </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.Playerlist.playState ==<span style="color: #000000;"> WMPLib.WMPPlayState.wmppsStopped) { </span><span style="color: #0000ff;">this</span>.songname = <span style="color: #0000ff;">null</span><span style="color: #000000;">; PlayList.MoveOn(); } </span><span style="color: #0000ff;">if</span>(<span style="color: #0000ff;">this</span>.songname!=<span style="color: #0000ff;">null</span>&&<span style="color: #0000ff;">this</span>.songname.Playseat==<span style="color: #000000;">SongPlayState.cut) { </span><span style="color: #0000ff;">this</span>.Playerlist.URL = <span style="color: #800000;">""</span><span style="color: #000000;">; </span><span style="color: #0000ff;">this</span>.songname = <span style="color: #0000ff;">null</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.songname != <span style="color: #0000ff;">null</span> && <span style="color: #0000ff;">this</span>.songname.Playseat ==<span style="color: #000000;"> SongPlayState.newplayed) { </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.PlaySong(); } } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊切歌觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnextsong_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.songname != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { PlayList.CutSong(); } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">親!你還沒有添加歌曲</span><span style="color: #800000;">"</span><span style="color: #000000;">); } } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊重唱觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnew_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { </span><span style="color: #0000ff;">if</span> (<span style="color: #0000ff;">this</span>.songname != <span style="color: #0000ff;">null</span><span style="color: #000000;">) { PlayList.PlayAgain(); } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">親!你還沒有添加歌曲</span><span style="color: #800000;">"</span><span style="color: #000000;">); } } </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊金曲排行觸發(fā)的時(shí)間</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnorderby_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { frmsonglist frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> frmsonglist(); frm.ph </span>= <span style="color: #800080;">1</span><span style="color: #000000;">; </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); frm.Show(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">歌星點(diǎn)歌</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnswan_Click_1(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { Frmbyswangetsong frm </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Frmbyswangetsong(); frm.Show(); </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Hide(); } </span><span style="color: #008000;">//</span><span style="color: #008000;">當(dāng)鼠標(biāo)進(jìn)入控件可見狀態(tài)是觸發(fā)的事件</span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnswan_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnswan,</span><span style="color: #800000;">"</span><span style="color: #800000;">歌星點(diǎn)歌</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnspell_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnspell, </span><span style="color: #800000;">"</span><span style="color: #800000;">拼音點(diǎn)歌</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnum_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnnum, </span><span style="color: #800000;">"</span><span style="color: #800000;">字?jǐn)?shù)點(diǎn)歌</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btntype_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btntype, </span><span style="color: #800000;">"</span><span style="color: #800000;">類型選擇</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnorderby_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnorderby, </span><span style="color: #800000;">"</span><span style="color: #800000;">金曲排行</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnew_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnnew, </span><span style="color: #800000;">"</span><span style="color: #800000;">重唱</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnnextsong_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnnextsong, </span><span style="color: #800000;">"</span><span style="color: #800000;">切歌</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnopen_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnopen, </span><span style="color: #800000;">"</span><span style="color: #800000;">已點(diǎn)</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnfw_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnfw, </span><span style="color: #800000;">"</span><span style="color: #800000;">服務(wù)</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnexit_MouseEnter(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { ToolTip tp </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ToolTip(); tp.ShowAlways </span>= <span style="color: #0000ff;">true</span><span style="color: #000000;">; tp.SetToolTip(btnexit, </span><span style="color: #800000;">"</span><span style="color: #800000;">退出</span><span style="color: #800000;">"</span><span style="color: #000000;">); } </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnfw_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e) { MessageBox.Show(</span><span style="color: #800000;">"</span><span style="color: #800000;">正在呼叫服務(wù)...</span><span style="color: #800000;">"</span><span style="color: #000000;">); }</span>
每個(gè)人都需要一臺(tái)速度更快、更穩(wěn)定的 PC。隨著時(shí)間的推移,垃圾文件、舊注冊(cè)表數(shù)據(jù)和不必要的后臺(tái)進(jìn)程會(huì)占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)