国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php教程 php手冊 MyKTV項目總結(jié)

MyKTV項目總結(jié)

Jul 06, 2016 pm 01:30 PM
名稱 總結(jié) 指導(dǎo) 系統(tǒng) 專案

項目名稱: KTV 點(diǎn)歌系統(tǒng) -- 指導(dǎo)老師原玉明 經(jīng)過一周多的時間,終于完成的我的這個 KTV 項目,說實(shí)話,做這個項目我收獲了不少,難點(diǎn)也非常多,不過經(jīng)過重重磨難,總算是過來了。不簡單呀! 這個項目主要分為前后臺。 前臺主要實(shí)現(xiàn)的功能是:歌星點(diǎn)歌,拼音

??????????????????????????????????????????????????????? 項目名稱:KTV點(diǎn)歌系統(tǒng)

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???--指導(dǎo)老師原玉明

經(jīng)過一周多的時間,終于完成的我的這個KTV項目,說實(shí)話,做這個項目我收獲了不少,難點(diǎn)也非常多,不過經(jīng)過重重磨難,總算是過來了。不簡單呀!

這個項目主要分為前后臺。

前臺主要實(shí)現(xiàn)的功能是:歌星點(diǎn)歌,拼音點(diǎn)歌,字?jǐn)?shù)點(diǎn)歌,

類型選擇,金曲排行,一些切歌,重唱,已點(diǎn)歌曲列表,主要是這些功能。

后臺主要實(shí)現(xiàn)的功能是:增加歌手,增加歌曲,修改歌曲路徑,修改歌手圖片路徑。

首先先看前臺:

前臺核心類:

SqlHelper類(負(fù)責(zé)連接數(shù)據(jù)庫):

?

 <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> 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>;

?

KtvHelper類(保存歌曲的目錄;保存歌手圖片的目錄)

 <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類(窗體對象之間的傳值)
  </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;

Song類(歌曲的信息及實(shí)現(xiàn)歌曲狀態(tài)的一個切換(已播放;未播放;重播;切歌)):

 <span style="color: #008000;">//</span><span style="color: #008000;">定義一個枚舉:歌曲播放狀態(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>

PlayList類(播放歌曲的核心內(nèi)容,功能(實(shí)現(xiàn)播放,切歌,重唱)):

<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;">定義一個數(shù)組,默認(rèn)可以儲存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 )
           {
               <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>(songIndexsongList.Length)
             {
                 <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>(songIndexsongList.Length)
             {
                 <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ù)組最后一個元素,就將最后一個元素指向空</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>(songIndexsongList.Length)
             {
                 <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>

實(shí)現(xiàn)窗體拖動的代碼(找到對應(yīng)事件雙擊):

<span style="color: #0000ff;">#region</span> 讓窗體實(shí)現(xiàn)拖動
        <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)左鍵按下并移動時,才移動窗體       </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>

主界面:(FrmMain

?

 <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)拖動
        <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)左鍵按下并移動時,才移動窗體       </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;">把整個窗體對象賦給FrmByValue的靜態(tài)frM對象</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)行窗體時啟動定時器</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></summary></span>
        <span style="color: #808080;">///</span><span style="color: #008000;"> 查詢返回路徑的方法
        </span><span style="color: #808080;">///</span> <span style="color: #808080;"></span>
        <span style="color: #808080;">///</span> <span style="color: #808080;"><param name="sql"></span><span style="color: #008000;">傳入sql語句</span><span style="color: #808080;"></span>
        <span style="color: #808080;">///</span> <span style="color: #808080;"><returns></returns></span><span style="color: #008000;">根據(jù)傳入的sql語句返回不同的路徑(1.resource_id=1歌曲路徑:resource_id=2歌手圖片路徑)</span><span style="color: #808080;"></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;">定時掃描歌曲列表,顯示當(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> 播放時顯示歌曲圖片
                <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;">計時器控件的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ā)的時間</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>

歌星點(diǎn)歌(Frmbyswangetsong):

 <span style="color: #008000;">//</span><span style="color: #008000;">圖片索引</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> index=<span style="color: #800080;">0</span><span style="color: #000000;">;
        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> index_singer = <span style="color: #800080;">0</span><span style="color: #000000;">;

       </span><span style="color: #008000;">//</span><span style="color: #008000;">Load事件</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> Frmbyswangetsong_Load(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            </span><span style="color: #008000;">//</span><span style="color: #008000;">在顯示當(dāng)前窗體時,讓第二個lvlisttwo和第三個lvlistthere控件不顯示</span>
            lvlisttwo.Visible = <span style="color: #0000ff;">false</span><span style="color: #000000;">;
            lvlistthere.Visible </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">;


            </span><span style="color: #0000ff;">#region</span> 給第一個listview綁定數(shù)據(jù)
            <span style="color: #008000;">//</span><span style="color: #008000;">給listview1綁定數(shù)據(jù)和圖片</span>
            ListViewItem lv = <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">組合</span><span style="color: #800000;">"</span>, <span style="color: #800080;">0</span><span style="color: #000000;">);
            lv.Tag </span>= <span style="color: #800000;">"</span><span style="color: #800000;">組合</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            ListViewItem lv1 </span>= <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">女歌手</span><span style="color: #800000;">"</span>, <span style="color: #800080;">1</span><span style="color: #000000;">);
            lv1.Tag </span>= <span style="color: #800000;">"</span><span style="color: #800000;">女</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            ListViewItem lv2 </span>= <span style="color: #0000ff;">new</span> ListViewItem(<span style="color: #800000;">"</span><span style="color: #800000;">男歌手</span><span style="color: #800000;">"</span>, <span style="color: #800080;">2</span><span style="color: #000000;">);
            lv2.Tag </span>= <span style="color: #800000;">"</span><span style="color: #800000;">男</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            lvlistone.Items.Add(lv);
            lvlistone.Items.Add(lv1);
            lvlistone.Items.Add(lv2); 
            </span><span style="color: #0000ff;">#endregion</span><span style="color: #000000;">

        } 



       </span><span style="color: #008000;">//</span><span style="color: #008000;">點(diǎn)擊lvlistone中項時觸發(fā)的事件</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> lvlistone_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            </span><span style="color: #008000;">//</span><span style="color: #008000;">如果沒有選中l(wèi)vlistone控件中的任何一項是不會顯示第二個窗體
            </span><span style="color: #008000;">//</span><span style="color: #008000;">讓第二個出現(xiàn)的lvlisttwo和lvlistone顯示在同一個位置</span>
            lvlisttwo.Location =<span style="color: #000000;"> lvlistone.Location;
            </span><span style="color: #008000;">//</span><span style="color: #008000;">如果選中一項,就把第二個llvlisttwo顯示出來
            </span><span style="color: #008000;">//</span><span style="color: #008000;">讓第二個lvlisttwo顯示</span>
            lvlisttwo.Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">;
            </span><span style="color: #0000ff;">if</span> (lvlistone.SelectedItems[<span style="color: #800080;">0</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;">給第二個listview控件動態(tài)綁定數(shù)據(jù)的方法</span>
<span style="color: #000000;">                lvlisttwoadd();
               
            }
           
        }

       </span><span style="color: #008000;">//</span><span style="color: #008000;">給第二個listview控件動態(tài)綁定數(shù)據(jù)的方法lvlisttwoadd();</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> lvlisttwoadd()
        {
            SqlConnection con </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str);
            </span><span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select * from singer_type</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql, con);
            </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())
                        {
                            </span><span style="color: #0000ff;">string</span> singertype_group = dr[<span style="color: #800000;">"</span><span style="color: #800000;">singertype_name</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #0000ff;">int</span> id = Convert.ToInt32(dr[<span style="color: #800000;">"</span><span style="color: #800000;">singertype_id</span><span style="color: #800000;">"</span><span style="color: #000000;">]);
                            ListViewItem lv </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ListViewItem();
                            lv.ImageIndex </span>= index++<span style="color: #000000;">;
                            lv.Text </span>=<span style="color: #000000;"> singertype_group;
                            lv.Tag</span>=<span style="color: #000000;"> id;
                           </span><span style="color: #008000;">//</span><span style="color: #008000;"> MessageBox.Show(lvlisttwo.Tag.ToString());</span>
<span style="color: #000000;">                            lvlisttwo.Items.Add(lv);
                        }
                    }
                }
            }
            </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: #008000;">//</span><span style="color: #008000;"> 03點(diǎn)擊lvlisttwo中項時觸發(fā)的事件</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> lvlisttwo_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {

            lvlistthere.Items.Clear();
            </span><span style="color: #008000;">//</span><span style="color: #008000;">如果沒有選中l(wèi)vlisttwo控件中的任何一項是不會顯示第三個窗體
            </span><span style="color: #008000;">//</span><span style="color: #008000;">如果選中一項,就把第二個llvlistthere顯示出來</span>
            <span style="color: #0000ff;">if</span> (lvlisttwo.SelectedItems[<span style="color: #800080;">0</span>] != <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                lvlisttwo.Visible </span>= <span style="color: #0000ff;">false</span><span style="color: #000000;">;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">讓第三個出現(xiàn)的lvlistthere和lvlistone顯示在同一個位置</span>
                lvlistthere.Location =<span style="color: #000000;"> lvlistone.Location;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">讓第三個lvlistthere顯示</span>
                lvlistthere.Visible = <span style="color: #0000ff;">true</span><span style="color: #000000;">;
                </span><span style="color: #008000;">//</span><span style="color: #008000;">獲取用戶點(diǎn)擊第一個listview是男歌手還是女歌手或者是組合</span>
                <span style="color: #0000ff;">string</span> singer_group = lvlistone.SelectedItems[<span style="color: #800080;">0</span><span style="color: #000000;">].Tag.ToString();
                </span><span style="color: #008000;">//</span><span style="color: #008000;">獲取用戶點(diǎn)擊點(diǎn)擊第二個listview是哪個地區(qū)的id</span>
                <span style="color: #0000ff;">int</span> cityid = Convert.ToInt32(lvlisttwo.SelectedItems[<span style="color: #800080;">0</span><span style="color: #000000;">].Tag);        
                SqlConnection con </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlConnection(SqlHelper.str);
                </span><span style="color: #0000ff;">string</span> sql = <span style="color: #800000;">"</span><span style="color: #800000;">select singer_name,singer_photo from singer_info where singer_sex ='</span><span style="color: #800000;">"</span> + singer_group + <span style="color: #800000;">"</span><span style="color: #800000;">' and singertype_id=</span><span style="color: #800000;">"</span>+cityid+<span style="color: #800000;">"</span> <span style="color: #800000;">"</span><span style="color: #000000;">;
                SqlCommand cmd </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> SqlCommand(sql,con);
                </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())
                        {
                            </span><span style="color: #008000;">//</span><span style="color: #008000;">獲取到歌手姓名和歌手圖片路徑</span>
                            <span style="color: #0000ff;">string</span> singer_name = dr[<span style="color: #800000;">"</span><span style="color: #800000;">singer_name</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #0000ff;">string</span> singer_photo_url = dr[<span style="color: #800000;">"</span><span style="color: #800000;">singer_photo</span><span style="color: #800000;">"</span><span style="color: #000000;">].ToString();
                            </span><span style="color: #008000;">//</span><span style="color: #008000;">并接路徑</span>
                            <span style="color: #0000ff;">string</span> URL = KtvHelper.singer_photoURL +<span style="color: #000000;"> singer_photo_url;
                            imgsingerinfo .Images.Add(Image.FromFile(URL));
                            ListViewItem lv </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> ListViewItem();
                            lv.Text </span>=<span style="color: #000000;"> singer_name;
                            lv.ImageIndex </span>=index_singer++<span style="color: #000000;">;
                            lvlistthere.Items.Add(lv);

                        }
                    }
                    }

                }
                </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: #008000;">//</span><span style="color: #008000;">點(diǎn)擊按鈕主界面觸發(fā)的事件</span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span> btnmain_Click(<span style="color: #0000ff;">object</span><span style="color: #000000;"> sender, EventArgs e)
        {
            FrmByValue.frM.Show();
            </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.Close();
            
        } 

       </span>
本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CUDA之通用矩陣乘法:從入門到熟練! CUDA之通用矩陣乘法:從入門到熟練! Mar 25, 2024 pm 12:30 PM

通用矩陣乘法(GeneralMatrixMultiplication,GEMM)是許多應(yīng)用程式和演算法中至關(guān)重要的一部分,也是評估電腦硬體效能的重要指標(biāo)之一。透過深入研究和優(yōu)化GEMM的實(shí)現(xiàn),可以幫助我們更好地理解高效能運(yùn)算以及軟硬體系統(tǒng)之間的關(guān)係。在電腦科學(xué)中,對GEMM進(jìn)行有效的最佳化可以提高運(yùn)算速度並節(jié)省資源,這對於提高電腦系統(tǒng)的整體效能至關(guān)重要。深入了解GEMM的工作原理和最佳化方法,有助於我們更好地利用現(xiàn)代計算硬體的潛力,並為各種複雜計算任務(wù)提供更有效率的解決方案。透過對GEMM性能的優(yōu)

3 招教你輕鬆自訂 Mac 電腦名稱、主機(jī)名稱和 Bonjour 名稱 3 招教你輕鬆自訂 Mac 電腦名稱、主機(jī)名稱和 Bonjour 名稱 Mar 06, 2024 pm 12:20 PM

許多Mac用戶往往習(xí)慣保留設(shè)備的預(yù)設(shè)名稱,可能從未考慮過更改。很多人選擇沿用初始設(shè)定時的名稱,例如「張三的MacBookAir」或簡單的「iMac」。學(xué)會如何修改Mac的名稱是一項非常實(shí)用的技能,尤其是在擁有多臺裝置時,可以幫助你快速區(qū)分和管理它們。接下來,我們將一步步教你如何在macOS系統(tǒng)中更改電腦名稱、主機(jī)名稱和Bonjour名稱(本地主機(jī)名稱)。為什麼要更改Mac名稱?修改Mac名稱不僅能彰顯個性,還能有助於提升使用體驗(yàn):個人化你的Mac:預(yù)設(shè)名稱可能不符合你的口味,換一個自己喜歡的名字

華為乾崑 ADS3.0 智駕系統(tǒng) 8 月上市 享界 S9 首發(fā)搭載 華為乾崑 ADS3.0 智駕系統(tǒng) 8 月上市 享界 S9 首發(fā)搭載 Jul 30, 2024 pm 02:17 PM

7月29日,在AITO問界第四十萬臺新車下線儀式上,華為常務(wù)董事、終端BG董事長、智能汽車解決方案BU董事長余承東出席發(fā)表演講并宣布,問界系列車型將于今年8月迎來華為乾崑ADS3.0版本的上市,并計劃在8月至9月間陸續(xù)推送升級。8月6日即將發(fā)布的享界S9將首發(fā)華為ADS3.0智能駕駛系統(tǒng)。華為乾崑ADS3.0版本在激光雷達(dá)的輔助下,將大幅提升智駕能力,具備融合端到端的能力,并采用GOD(通用障礙物識別)/PDP(預(yù)測決策規(guī)控)全新端到端架構(gòu),提供車位到車位智駕領(lǐng)航NCA功能,并升級CAS3.0全

AI攻克費(fèi)馬大定理?數(shù)學(xué)家放棄5年職業(yè)生涯,將100頁證明變代碼 AI攻克費(fèi)馬大定理?數(shù)學(xué)家放棄5年職業(yè)生涯,將100頁證明變代碼 Apr 09, 2024 pm 03:20 PM

費(fèi)馬大定理,即將被AI攻克?而整件事最有意義的地方在於,AI即將解決的費(fèi)馬大定理,正是為了證明AI無用。曾經(jīng),數(shù)學(xué)屬於純粹的人類智力王國;如今,這片疆土正被先進(jìn)的演算法所破解,所踐踏。圖片費(fèi)馬大定理,是一個「臭名昭著」的謎題,在幾個世紀(jì)以來,一直困擾著數(shù)學(xué)家。它在1993年被證明,而現(xiàn)在,數(shù)學(xué)家們有一個偉大計畫:用電腦把證明過程重現(xiàn)。他們希望在這個版本的證明中,如果有任何邏輯上的錯誤,都可以由電腦檢查出來。專案網(wǎng)址:https://github.com/riccardobrasca/flt

PyCharm實(shí)用技巧:將項目轉(zhuǎn)換為可執(zhí)行EXE文件 PyCharm實(shí)用技巧:將項目轉(zhuǎn)換為可執(zhí)行EXE文件 Feb 23, 2024 am 09:33 AM

PyCharm是一款功能強(qiáng)大的Python整合開發(fā)環(huán)境,提供了豐富的開發(fā)工具和環(huán)境配置,讓開發(fā)者更有效率地編寫和除錯程式碼。在使用PyCharm進(jìn)行Python專案開發(fā)的過程中,有時候我們需要將專案打包成可執(zhí)行的EXE文件,以便在沒有安裝Python環(huán)境的電腦上執(zhí)行。本文將介紹如何使用PyCharm將專案轉(zhuǎn)換為可執(zhí)行的EXE文件,同時給出具體的程式碼範(fàn)例。首

深入了解PyCharm:快速刪除項目的方法 深入了解PyCharm:快速刪除項目的方法 Feb 26, 2024 pm 04:21 PM

標(biāo)題:深入了解PyCharm:刪除專案的高效方式近年來,Python作為一種強(qiáng)大而靈活的程式語言,受到越來越多開發(fā)者的青睞。在Python專案的開發(fā)中,選擇一個高效的整合開發(fā)環(huán)境至關(guān)重要。 PyCharm作為一款功能強(qiáng)大的整合開發(fā)環(huán)境,為Python開發(fā)者提供了許多便利的功能和工具,其中包括快速、有效率地刪除專案目錄。以下將著重介紹如何使用PyCharm中的刪除

總結(jié)Linux系統(tǒng)中system()函數(shù)的用法 總結(jié)Linux系統(tǒng)中system()函數(shù)的用法 Feb 23, 2024 pm 06:45 PM

Linux下system()函數(shù)的總結(jié)在Linux系統(tǒng)中,system()函數(shù)是一個非常常用的函數(shù),它可以用來執(zhí)行命令列指令。本文將對system()函數(shù)進(jìn)行詳細(xì)的介紹,並提供一些特定的程式碼範(fàn)例。一、system()函數(shù)的基本用法system()函數(shù)的聲明如下:intsystem(constchar*command);其中,command參數(shù)是一個字符

蘋果16系統(tǒng)哪個版本最好 蘋果16系統(tǒng)哪個版本最好 Mar 08, 2024 pm 05:16 PM

蘋果16系統(tǒng)中版本最好的是iOS16.1.4,iOS16系統(tǒng)的最佳版本可能因人而異添加和日常使用體驗(yàn)的提升也受到了很多用戶的好評。蘋果16系統(tǒng)哪個版本最好答:iOS16.1.4iOS16系統(tǒng)的最佳版本可能因人而異。根據(jù)公開的消息,2022年推出的iOS16被認(rèn)為是一個非常穩(wěn)定且性能優(yōu)越的版本,用戶對其整體體驗(yàn)也相當(dāng)滿意。此外,iOS16中新功能的新增和日常使用體驗(yàn)的提升也受到了許多用戶的好評。特別是在更新後的電池續(xù)航力、訊號表現(xiàn)和發(fā)熱控制方面,使用者的回饋都比較正面。然而,考慮到iPhone14

See all articles