学生作品说明模板.docx
《学生作品说明模板.docx》由会员分享,可在线阅读,更多相关《学生作品说明模板.docx(27页珍藏版)》请在冰豆网上搜索。
学生作品说明模板
《C#程序设计》
综合实训说明书
题目:
播放器
班级:
网络技术二班
学号:
0906008229
姓名:
李春林
漳州职业技术学院计算机工程系
2011年6月10日
目录
前言…………………………………………………………………………………×
功能一(或单元一)××××××××××……………………………………×
功能二(或单元一)××××××××××……………………………………×
……
前言
(说明实训的内容,主要介绍功能模块,采用的方法等)
实训的内容
引用window自带的“windowmediaplayer”控件,实现音乐播放、暂停、停止、前进一首、后退一首、静音和声音控制。
当然了歌曲的循环播放、单首播放和随机播放是不可少的。
还有歌曲的一些添加,如一个文件夹下多首歌曲一起添加,歌曲的删除,歌曲的查找等等。
音乐作为主程序,辅助的有个截屏程序。
截屏是现在很多程序都必带的程序,很多情况下,多要用到它。
功能简介
实施步骤
步骤一:
添加音乐
添加音乐文件:
除了视频文件外,其它音乐文件格式都可以用。
但是程序是默认为MP3格式的,打开时,首选是MP3格式。
音乐可以多个被选中,一起添加到lvplqylist中。
单机“删除歌曲”可以删除被选中的歌曲。
效果截图:
步骤二:
基本控件功能
点击“播放”或者双击lvplqylist空白处会自动默认为首歌播放。
当然有些人认为第一首歌不好听,喜欢其它的,你就可以选中歌曲,再点击播放;或者双击歌曲,会播放选中的歌曲。
歌曲播放后,进程条和TimeLabel标签会清楚的知道歌曲的播放程度和时间。
同时“播放”变成“暂停”,点击“暂停”,歌曲会暂停在原来的位置。
点击“《|”或者“|》”可以播放上一首或者下一首,点击“停止”,将会介绍歌曲的播放。
最后傍边还有“单首、“循环”和“随机”三个单选按钮,它们分别实现是选中的歌曲重复的播放、所有歌曲重复的播放和随机任意的播放歌曲。
移动trackBar1空间可以选择音量的大小,或者点击musickg控件可以使音乐静音了。
步骤三:
其它button功能
点击“增加网络音乐”可以创建一个歌曲文件,添加到lvplqylist里,但是它却不能实现被播放,只是当作一个不可用的文件。
在TxtSongName文本里输入想要查找的歌曲的完整文件名,可以查找lvplqylist里是否有该歌曲。
步骤四:
退出
一般情况下,我们都喜欢程序不显示在桌面上或者我们不小心点到右上角的☒,而程序不会被退出,将最小化在任务栏中的通知栏那里,右击图标,会跳出菜单栏,点击“主程序”还回form窗体,点击”截屏”运行截屏小程序,点击“退出”将会退出所有程序。
截屏
点击“截屏”会截下当前桌面屏幕,放入form3中。
然后鼠标变成“+”现状。
按下鼠标到鼠标结束时会截下按下鼠标点到鼠标结束点之间的长方形区域的图。
然后你可以保存图片。
我设置保存固定位置为“d:
\123.jpg”。
点击退出,可以“退出”截屏窗口。
程序代码
1.Form1代码:
usingSystem.IO;
namespaceex092
{
publicpartialclassForm1:
Form
publicForm1()
InitializeComponent();
}
publicstaticstringsstr="";
privatevoidAddSongButton_Click(objectsender,EventArgse)
try
openFileDialog1.InitialDirectory=@"d:
\";
openFileDialog1.Filter="mp3文件(*.mp3)|*.mp3|allfiles(*.*)|*.*";
openFileDialog1.Multiselect=true;
openFileDialog1.Title="请选择媒体文件";
DialogResultresult=openFileDialog1.ShowDialog();//打开对话框选择音乐文件
if(result==DialogResult.OK)//如果选择了音乐文件
string[]FilePath=openFileDialog1.FileNames;//获取音乐完整文件路径
//获取音乐名
for(inti=0;i{stringSongName=FilePath[i].Substring(FilePath[i].LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath[i];//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}}}catch(Exceptionerror){MessageBox.Show(error.Message.ToString());}}privatevoidDelSongButton_Click(objectsender,EventArgse){if(LvPlayList.SelectedItems.Count>0){LvPlayList.SelectedItems[0].Remove();}}privateintCurrPlayID;//用于保存当前音乐列表的正在播放的音乐位置索引值privatevoidmusicPlay()//播放歌曲{//如果有选中要播放的歌曲if(LvPlayList.SelectedItems.Count>0){//设置控件播放路径Mp3Player.URL=LvPlayList.SelectedItems[0].Tag.ToString();Mp3Player.Ctlcontrols.play();//开始播放//显示当前播放歌曲名SongLabel.Text="当前音乐:"+LvPlayList.SelectedItems[0].Text.ToString();timer1.Enabled=true;//开启时钟延时功能PlayButton.Text="暂停";CurrPlayID=LvPlayList.SelectedItems[0].Index;}elseif(LvPlayList.Items.Count>0){LvPlayList.Items[0].Selected=true;musicPlay();}}//双击播放列表播放歌曲privatevoidPlayButton_Click(objectsender,EventArgse){//播放if(PlayButton.Text=="播放"){if(Mp3Player.URL.Length==0){musicPlay();}else{Mp3Player.Ctlcontrols.play();PlayButton.Text="暂停";}}else//暂停{Mp3Player.Ctlcontrols.pause();PlayButton.Text="播放";}}privatevoidStopButton_Click(objectsender,EventArgse){Mp3Player.Ctlcontrols.stop();PlayButton.Text="播放";}privatevoidPreButton_Click(objectsender,EventArgse){//如果是第一首if(CurrPlayID==0){CurrPlayID=LvPlayList.Items.Count-1;//移到最后一首LvPlayList.Items[CurrPlayID].Selected=true;}else{CurrPlayID--;//移到上一首LvPlayList.Items[CurrPlayID].Selected=true;}musicPlay();//播放}privatevoidNextbutton_Click(objectsender,EventArgse){//如果是最后一首if(CurrPlayID==LvPlayList.Items.Count-1){LvPlayList.Items[0].Selected=true;//移到第一首CurrPlayID=0;}else{CurrPlayID++;//移到下一首LvPlayList.Items[CurrPlayID].Selected=true;}musicPlay();//播放}privatevoidLvPlayList_DoubleClick(objectsender,EventArgse){musicPlay();}privatevoidtimer1_Tick(objectsender,EventArgse){//读取总长度intduration=Convert.ToInt32(Mp3Player.currentMedia.duration);if(duration==0)//如果读取的总长度为0,表示未完成初始化return;//返回//设置进度条最大值if(PBSongLength.Maximum!=duration){PBSongLength.Minimum=0;//进度条最小值//进度条最大值,要强制从double转成int型PBSongLength.Maximum=duration;}//设置显示进度if(TimeLabel.Text!=Mp3Player.Ctlcontrols.currentPositionString){TimeLabel.Text="时间:"+Mp3Player.Ctlcontrols.currentPositionString;PBSongLength.Value=Convert.ToInt32(Mp3Player.Ctlcontrols.currentPosition);}//如果播放完毕if(TimeLabel.Text==Mp3Player.currentMedia.durationString)timer1.Enabled=false;//关闭时钟}privatevoidMp3Player_PlayStateChange(objectsender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvente){if(e.newState==Convert.ToInt32(WMPLib.WMPPlayState.wmppsMediaEnded)){timer2.Enabled=true;}}privatevoidtimer2_Tick(objectsender,EventArgse){PlayButton.Text="播放";PBSongLength.Value=0;TimeLabel.Text="00:00";if(radioButton1.Checked){Nextbutton_Click(null,null);//直接下一首}elseif(radioButton2.Checked){TimeLabel.Text=radioButton2.Text;Mp3Player.Ctlcontrols.play();}elseif(radioButton3.Checked){Randomr=newRandom();//生成随机播放的IDCurrPlayID=r.Next(0,LvPlayList.Items.Count);LvPlayList.Items[CurrPlayID].Selected=true;musicPlay();//播放}else{//如果不是最后一首if(CurrPlayID{CurrPlayID++;//移到下一首LvPlayList.Items[CurrPlayID].Selected=true;musicPlay();//播放}}timer2.Enabled=false;}privatevoidSearchButton_Click(objectsender,EventArgse){stringFindSongName=TxtSongName.Text;//获取要搜索的文件名stringselectsong="";//从播放列表中遍历搜索for(inti=0;i{//如果音乐名包含要搜索的关键字if(LvPlayList.Items[i].Text==FindSongName){selectsong="true";LvPlayList.Items[i].Selected=true;//将它设成选中break;//搜索结束}}if(selectsong!="true"){MessageBox.Show("没有找到相应的歌曲文件!");}}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidNetworkMusic_Click(objectsender,EventArgse){Form2form2=newForm2();//注册form2_MyEvent方法的MyEvent事件form2.MyEvent+=newMyDelegate(form2_MyEvent);form2.Show();}voidform2_MyEvent(stringtext){stringFilePath=sstr;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}privatevoidmusickg_Click(objectsender,EventArgse){if(Mp3Player.settings.mute==true){Mp3Player.settings.mute=false;}else{Mp3Player.settings.mute=true;}}privatevoidtrackBar1_Scroll(objectsender,EventArgse){Mp3Player.settings.volume=trackBar1.Value;}privatevoidshowfiles(stringpath,ListBoxlistBox1){stringPaths="d:\\abc";DirectoryInfodir=newDirectoryInfo(Paths);if(dir.Exists){MessageBox.Show("sfsdfs==f");}else{MessageBox.Show("不存在");}foreach(FileInfofindir.GetFiles("*.mp3")){stringFilePath=f.FullName;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}foreach(DirectoryInfofindir.GetDirectories()){showfiles(f.FullName,listBox1);}}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){e.Cancel=true;//取消关闭窗体this.Hide();this.ShowInTaskbar=false;//取消窗体在任务栏的显示this.notifyIcon1.Visible=true;//显示托盘图标}privatevoid主程序ToolStripMenuItem_Click(objectsender,EventArgse){this.Show();this.ShowInTaskbar=true;this.notifyIcon1.Visible=false;}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){this.Dispose(true);Application.ExitThread();}privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse){Form3form3=newForm3();this.Hide();form3.Show();}}}2.form2代码namespaceex092{publicdelegatevoidMyDelegate(stringtext);publicpartialclassForm2:Form{publiceventMyDelegateMyEvent;publicForm2(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){MyEvent(this.textBox1.Text);this.Close();}privatevoidtextBox1_TextChanged(objectsender,EventArgse){Form1.sstr=textBox1.Text;}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}}}3.form3代码usingSystem.IO;namespaceex092{publicpartialclassForm3:Form{privateBitmapMyImage=null;privateboolStartedCrop=false;PointStartPoint=newPoint(0,0);RectangleSelectRect=newRectangle();intDeltaX=0;intDeltaY=0;publicForm3(){InitializeComponent();}[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternboolBitBlt(IntPtrhdcDest,intnXDest,intnYDest,intnWidth,intnHeight,IntPtrhdcSrc,intnXSrc,intnYSrc,System.Int32dwRop);[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternIntPtrCreateDC(stringlpszDriver,stringlpszDevi
stringSongName=FilePath[i].Substring(FilePath[i].LastIndexOf('\\')+1);
ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项
lv.Tag=FilePath[i];//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取
lv.ImageIndex=1;
LvPlayList.Items.Add(lv);//添加
catch(Exceptionerror)
MessageBox.Show(error.Message.ToString());
privatevoidDelSongButton_Click(objectsender,EventArgse)
if(LvPlayList.SelectedItems.Count>0)
LvPlayList.SelectedItems[0].Remove();
privateintCurrPlayID;//用于保存当前音乐列表的正在播放的音乐位置索引值
privatevoidmusicPlay()//播放歌曲
//如果有选中要播放的歌曲
//设置控件播放路径
Mp3Player.URL=LvPlayList.SelectedItems[0].Tag.ToString();
Mp3Player.Ctlcontrols.play();//开始播放
//显示当前播放歌曲名
SongLabel.Text="当前音乐:
"+LvPlayList.SelectedItems[0].Text.ToString();
timer1.Enabled=true;//开启时钟延时功能
PlayButton.Text="暂停";
CurrPlayID=LvPlayList.SelectedItems[0].Index;
elseif(LvPlayList.Items.Count>0){
LvPlayList.Items[0].Selected=true;
musicPlay();
//双击播放列表播放歌曲
privatevoidPlayButton_Click(objectsender,EventArgse)
//播放
if(PlayButton.Text=="播放")
if(Mp3Player.URL.Length==0)
else
Mp3Player.Ctlcontrols.play();
else//暂停
Mp3Player.Ctlcontrols.pause();
PlayButton.Text="播放";
privatevoidStopButton_Click(objectsender,EventArgse)
Mp3Player.Ctlcontrols.stop();
privatevoidPreButton_Click(objectsender,EventArgse)
//如果是第一首
if(CurrPlayID==0)
CurrPlayID=LvPlayList.Items.Count-1;//移到最后一首
LvPlayList.Items[CurrPlayID].Selected=true;
CurrPlayID--;//移到上一首
musicPlay();//播放
privatevoidNextbutton_Click(objectsender,EventArgse)
//如果是最后一首
if(CurrPlayID==LvPlayList.Items.Count-1)
LvPlayList.Items[0].Selected=true;//移到第一首
CurrPlayID=0;
CurrPlayID++;//移到下一首
privatevoidLvPlayList_DoubleClick(objectsender,EventArgse)
privatevoidtimer1_Tick(objectsender,EventArgse)
//读取总长度
intduration=Convert.ToInt32(Mp3Player.currentMedia.duration);
if(duration==0)//如果读取的总长度为0,表示未完成初始化
return;//返回
//设置进度条最大值
if(PBSongLength.Maximum!
=duration)
PBSongLength.Minimum=0;//进度条最小值
//进度条最大值,要强制从double转成int型
PBSongLength.Maximum=duration;
//设置显示进度
if(TimeLabel.Text!
=Mp3Player.Ctlcontrols.currentPositionString)
TimeLabel.Text="时间:
"+Mp3Player.Ctlcontrols.currentPositionString;
PBSongLength.Value=Convert.ToInt32(Mp3Player.Ctlcontrols.currentPosition);
//如果播放完毕
if(TimeLabel.Text==Mp3Player.currentMedia.durationString)
timer1.Enabled=false;//关闭时钟
privatevoidMp3Player_PlayStateChange(objectsender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvente)
if(e.newState==Convert.ToInt32(WMPLib.WMPPlayState.wmppsMediaEnded))
timer2.Enabled=true;
privatevoidtimer2_Tick(objectsender,EventArgse)
PBSongLength.Value=0;
TimeLabel.Text="00:
00";
if(radioButton1.Checked)
Nextbutton_Click(null,null);//直接下一首
elseif(radioButton2.Checked)
TimeLabel.Text=radioButton2.Text;
elseif(radioButton3.Checked)
Randomr=newRandom();//生成随机播放的ID
CurrPlayID=r.Next(0,LvPlayList.Items.Count);
//如果不是最后一首
if(CurrPlayID{CurrPlayID++;//移到下一首LvPlayList.Items[CurrPlayID].Selected=true;musicPlay();//播放}}timer2.Enabled=false;}privatevoidSearchButton_Click(objectsender,EventArgse){stringFindSongName=TxtSongName.Text;//获取要搜索的文件名stringselectsong="";//从播放列表中遍历搜索for(inti=0;i{//如果音乐名包含要搜索的关键字if(LvPlayList.Items[i].Text==FindSongName){selectsong="true";LvPlayList.Items[i].Selected=true;//将它设成选中break;//搜索结束}}if(selectsong!="true"){MessageBox.Show("没有找到相应的歌曲文件!");}}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidNetworkMusic_Click(objectsender,EventArgse){Form2form2=newForm2();//注册form2_MyEvent方法的MyEvent事件form2.MyEvent+=newMyDelegate(form2_MyEvent);form2.Show();}voidform2_MyEvent(stringtext){stringFilePath=sstr;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}privatevoidmusickg_Click(objectsender,EventArgse){if(Mp3Player.settings.mute==true){Mp3Player.settings.mute=false;}else{Mp3Player.settings.mute=true;}}privatevoidtrackBar1_Scroll(objectsender,EventArgse){Mp3Player.settings.volume=trackBar1.Value;}privatevoidshowfiles(stringpath,ListBoxlistBox1){stringPaths="d:\\abc";DirectoryInfodir=newDirectoryInfo(Paths);if(dir.Exists){MessageBox.Show("sfsdfs==f");}else{MessageBox.Show("不存在");}foreach(FileInfofindir.GetFiles("*.mp3")){stringFilePath=f.FullName;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}foreach(DirectoryInfofindir.GetDirectories()){showfiles(f.FullName,listBox1);}}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){e.Cancel=true;//取消关闭窗体this.Hide();this.ShowInTaskbar=false;//取消窗体在任务栏的显示this.notifyIcon1.Visible=true;//显示托盘图标}privatevoid主程序ToolStripMenuItem_Click(objectsender,EventArgse){this.Show();this.ShowInTaskbar=true;this.notifyIcon1.Visible=false;}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){this.Dispose(true);Application.ExitThread();}privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse){Form3form3=newForm3();this.Hide();form3.Show();}}}2.form2代码namespaceex092{publicdelegatevoidMyDelegate(stringtext);publicpartialclassForm2:Form{publiceventMyDelegateMyEvent;publicForm2(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){MyEvent(this.textBox1.Text);this.Close();}privatevoidtextBox1_TextChanged(objectsender,EventArgse){Form1.sstr=textBox1.Text;}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}}}3.form3代码usingSystem.IO;namespaceex092{publicpartialclassForm3:Form{privateBitmapMyImage=null;privateboolStartedCrop=false;PointStartPoint=newPoint(0,0);RectangleSelectRect=newRectangle();intDeltaX=0;intDeltaY=0;publicForm3(){InitializeComponent();}[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternboolBitBlt(IntPtrhdcDest,intnXDest,intnYDest,intnWidth,intnHeight,IntPtrhdcSrc,intnXSrc,intnYSrc,System.Int32dwRop);[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternIntPtrCreateDC(stringlpszDriver,stringlpszDevi
timer2.Enabled=false;
privatevoidSearchButton_Click(objectsender,EventArgse)
stringFindSongName=TxtSongName.Text;//获取要搜索的文件名
stringselectsong="";
//从播放列表中遍历搜索
for(inti=0;i{//如果音乐名包含要搜索的关键字if(LvPlayList.Items[i].Text==FindSongName){selectsong="true";LvPlayList.Items[i].Selected=true;//将它设成选中break;//搜索结束}}if(selectsong!="true"){MessageBox.Show("没有找到相应的歌曲文件!");}}privatevoidForm1_Load(objectsender,EventArgse){}privatevoidNetworkMusic_Click(objectsender,EventArgse){Form2form2=newForm2();//注册form2_MyEvent方法的MyEvent事件form2.MyEvent+=newMyDelegate(form2_MyEvent);form2.Show();}voidform2_MyEvent(stringtext){stringFilePath=sstr;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}privatevoidmusickg_Click(objectsender,EventArgse){if(Mp3Player.settings.mute==true){Mp3Player.settings.mute=false;}else{Mp3Player.settings.mute=true;}}privatevoidtrackBar1_Scroll(objectsender,EventArgse){Mp3Player.settings.volume=trackBar1.Value;}privatevoidshowfiles(stringpath,ListBoxlistBox1){stringPaths="d:\\abc";DirectoryInfodir=newDirectoryInfo(Paths);if(dir.Exists){MessageBox.Show("sfsdfs==f");}else{MessageBox.Show("不存在");}foreach(FileInfofindir.GetFiles("*.mp3")){stringFilePath=f.FullName;//获取音乐完整文件路径//获取音乐名stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);ListViewItemlv=newListViewItem(SongName);//根据音乐名生成一个列表项lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取lv.ImageIndex=1;LvPlayList.Items.Add(lv);//添加}foreach(DirectoryInfofindir.GetDirectories()){showfiles(f.FullName,listBox1);}}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){e.Cancel=true;//取消关闭窗体this.Hide();this.ShowInTaskbar=false;//取消窗体在任务栏的显示this.notifyIcon1.Visible=true;//显示托盘图标}privatevoid主程序ToolStripMenuItem_Click(objectsender,EventArgse){this.Show();this.ShowInTaskbar=true;this.notifyIcon1.Visible=false;}privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse){this.Dispose(true);Application.ExitThread();}privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse){Form3form3=newForm3();this.Hide();form3.Show();}}}2.form2代码namespaceex092{publicdelegatevoidMyDelegate(stringtext);publicpartialclassForm2:Form{publiceventMyDelegateMyEvent;publicForm2(){InitializeComponent();}privatevoidForm2_Load(objectsender,EventArgse){}privatevoidbutton1_Click(objectsender,EventArgse){MyEvent(this.textBox1.Text);this.Close();}privatevoidtextBox1_TextChanged(objectsender,EventArgse){Form1.sstr=textBox1.Text;}privatevoidbutton2_Click(objectsender,EventArgse){this.Close();}}}3.form3代码usingSystem.IO;namespaceex092{publicpartialclassForm3:Form{privateBitmapMyImage=null;privateboolStartedCrop=false;PointStartPoint=newPoint(0,0);RectangleSelectRect=newRectangle();intDeltaX=0;intDeltaY=0;publicForm3(){InitializeComponent();}[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternboolBitBlt(IntPtrhdcDest,intnXDest,intnYDest,intnWidth,intnHeight,IntPtrhdcSrc,intnXSrc,intnYSrc,System.Int32dwRop);[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]privatestaticexternIntPtrCreateDC(stringlpszDriver,stringlpszDevi
//如果音乐名包含要搜索的关键字
if(LvPlayList.Items[i].Text==FindSongName)
selectsong="true";
LvPlayList.Items[i].Selected=true;//将它设成选中
break;//搜索结束
if(selectsong!
="true")
MessageBox.Show("没有找到相应的歌曲文件!
");
privatevoidForm1_Load(objectsender,EventArgse)
privatevoidNetworkMusic_Click(objectsender,EventArgse)
Form2form2=newForm2();//注册form2_MyEvent方法的MyEvent事件
form2.MyEvent+=newMyDelegate(form2_MyEvent);
form2.Show();
voidform2_MyEvent(stringtext)
stringFilePath=sstr;//获取音乐完整文件路径
stringSongName=FilePath.Substring(FilePath.LastIndexOf('\\')+1);
lv.Tag=FilePath;//将音乐名的完整路径存放在列表项的Tag标记属性中,方便读取
privatevoidmusickg_Click(objectsender,EventArgse)
if(Mp3Player.settings.mute==true)
Mp3Player.settings.mute=false;
Mp3Player.settings.mute=true;
privatevoidtrackBar1_Scroll(objectsender,EventArgse)
Mp3Player.settings.volume=trackBar1.Value;
privatevoidshowfiles(stringpath,ListBoxlistBox1)
stringPaths="d:
\\abc";
DirectoryInfodir=newDirectoryInfo(Paths);
if(dir.Exists)
MessageBox.Show("sfsdfs==f");
else{
MessageBox.Show("不存在");
foreach(FileInfofindir.GetFiles("*.mp3"))
stringFilePath=f.FullName;//获取音乐完整文件路径
foreach(DirectoryInfofindir.GetDirectories())
showfiles(f.FullName,listBox1);
privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse)
e.Cancel=true;//取消关闭窗体
this.Hide();
this.ShowInTaskbar=false;//取消窗体在任务栏的显示
this.notifyIcon1.Visible=true;//显示托盘图标
privatevoid主程序ToolStripMenuItem_Click(objectsender,EventArgse)
this.Show();
this.ShowInTaskbar=true;
this.notifyIcon1.Visible=false;
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
this.Dispose(true);
Application.ExitThread();
privatevoidtoolStripMenuItem1_Click(objectsender,EventArgse)
Form3form3=newForm3();
form3.Show();
2.form2代码
publicdelegatevoidMyDelegate(stringtext);
publicpartialclassForm2:
publiceventMyDelegateMyEvent;
publicForm2()
privatevoidForm2_Load(objectsender,EventArgse)
privatevoidbutton1_Click(objectsender,EventArgse)
MyEvent(this.textBox1.Text);
this.Close();
privatevoidtextBox1_TextChanged(objectsender,EventArgse)
Form1.sstr=textBox1.Text;
privatevoidbutton2_Click(objectsender,EventArgse)
3.form3代码
publicpartialclassForm3:
privateBitmapMyImage=null;
privateboolStartedCrop=false;
PointStartPoint=newPoint(0,0);
RectangleSelectRect=newRectangle();
intDeltaX=0;
intDeltaY=0;
publicForm3()
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
privatestaticexternboolBitBlt(
IntPtrhdcDest,
intnXDest,
intnYDest,
intnWidth,
intnHeight,
IntPtrhdcSrc,
intnXSrc,
intnYSrc,
System.Int32dwRop
);
privatestaticexternIntPtrCreateDC(
stringlpszDriver,
stringlpszDevi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1