C#中如何创建listBox的双击事件?
privatevoidlabel13_Click(objectsender,System.EventArgse){Off.Filter="音频格式(mp3,wav,wma...
private void label13_Click(object sender, System.EventArgs e)
{
Off.Filter="音频格式(mp3,wav,wma...)|*.aif;*.aiff;*.au;*.mp2;*.mp3;*.mpa;*.wav;*.wma;*.snd";
System.Windows.Forms.DialogResult OffResult;
OffResult=Off.ShowDialog();//显示打开文件对话框
try
{
if(OffResult==DialogResult.OK||Off.FileName.Length>=0)
{ //如果用户选择了可播放的媒体文件
int i=this.listBox1.Items.Count+1;
string Wenjianming=Off.FileName.Substring(Off.FileName.LastIndexOf("\\")+1);
Wenjianming=Wenjianming.Substring(0,Wenjianming.Length-4);
this.listBox1.Items.Add(Wenjianming);
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_DoubleClick);
}
}
catch
{
}
}
private void listBox1_DoubleClick(object sender, System.EventArgs e)
{
label10.Text=" "+this.listBox1.SelectedItem.ToString()+" ";
MMCKJ.FileName=Off.FileName;
MMCKJ.Command="Stop";
MMCKJ.Command="Play";
}
private void listBox1_DoubleClick(object sender, System.EventArgs e) 下的 MMCKJ.FileName=Off.FileName; 不起作用 我分析为变量问题 我想做的是通过双击listBox中的选定项 然后播放改选定项所代表的歌曲 希望得到高手帮忙!! 我把打开到listBox中的文件名除去了路径 展开
{
Off.Filter="音频格式(mp3,wav,wma...)|*.aif;*.aiff;*.au;*.mp2;*.mp3;*.mpa;*.wav;*.wma;*.snd";
System.Windows.Forms.DialogResult OffResult;
OffResult=Off.ShowDialog();//显示打开文件对话框
try
{
if(OffResult==DialogResult.OK||Off.FileName.Length>=0)
{ //如果用户选择了可播放的媒体文件
int i=this.listBox1.Items.Count+1;
string Wenjianming=Off.FileName.Substring(Off.FileName.LastIndexOf("\\")+1);
Wenjianming=Wenjianming.Substring(0,Wenjianming.Length-4);
this.listBox1.Items.Add(Wenjianming);
this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_DoubleClick);
}
}
catch
{
}
}
private void listBox1_DoubleClick(object sender, System.EventArgs e)
{
label10.Text=" "+this.listBox1.SelectedItem.ToString()+" ";
MMCKJ.FileName=Off.FileName;
MMCKJ.Command="Stop";
MMCKJ.Command="Play";
}
private void listBox1_DoubleClick(object sender, System.EventArgs e) 下的 MMCKJ.FileName=Off.FileName; 不起作用 我分析为变量问题 我想做的是通过双击listBox中的选定项 然后播放改选定项所代表的歌曲 希望得到高手帮忙!! 我把打开到listBox中的文件名除去了路径 展开
1个回答
展开全部
您好,
根据我对您代码的理解,label13应该是您的播放器的“打开文件”按钮。然后您对文件路径进行了处理,把文件名添加到listBox1中,然后声明了列表框的双击事件。这是label13_Click事件处理程序所作的工作。
我在本地测试了一下,这样MMCKJ.FileName=Off.FileName是可以获得那个文件名的。您可以在窗体上添加一个label,然后在列表框的双击中添加代码
labelX.Text=Off.FileName;看一下,看是否是因为文件名没有传进来。或者,最有可能的是,因为您的列表框的双击事件是在打开文件后才注册,所以您在打开文件前双击列表框是不会有反应的。
还有,对于OffResult==DialogResult.OK||Off.FileName.Length>=0一句我有点疑问,这句这样写似乎有点问题,“||”是或运算符,如果您这样写,当在打开对话框中单击“取消”按钮时,一样会在列表框中添加一个项目,因为只要在打开对话框中选择了文件,无论在对话框中点“确定”还是“取消”,FileName属性中都会包含选中文件的文件名,所以我觉得您可以把
System.Windows.Forms.DialogResult OffResult;
OffResult=Off.ShowDialog();//
这句和下面的
try
{
if(OffResult==DialogResult.OK||Off.FileName.Length>=0)
写在一起:
try
{
if(off.ShowDialog()==DialogResult.OK)
但是这样做会使Off.FileName在try语句后出作用域,也就是说在后面您不能使用Off.FileName调用这个文件了。无论如何您应该去掉||Off.FileName.Length>=0这一部分,我不知道您为什么要判断文件名长度大于等于0。
另外,如果按照您现在编写的代码来看,只有在您使用打开对话框打开一个文件后,列表框的双击事件才有效,而且无论您双击的是什么文件,都只会播放那个刚打开的文件。如果您想做一个类似千千静听那样的播放列表,您应该把列表框里的内容连同文件的路径存储到一个文件中。
希望这些信息对您有帮助。如果还有疑问,您可以联系我,谢谢。
根据我对您代码的理解,label13应该是您的播放器的“打开文件”按钮。然后您对文件路径进行了处理,把文件名添加到listBox1中,然后声明了列表框的双击事件。这是label13_Click事件处理程序所作的工作。
我在本地测试了一下,这样MMCKJ.FileName=Off.FileName是可以获得那个文件名的。您可以在窗体上添加一个label,然后在列表框的双击中添加代码
labelX.Text=Off.FileName;看一下,看是否是因为文件名没有传进来。或者,最有可能的是,因为您的列表框的双击事件是在打开文件后才注册,所以您在打开文件前双击列表框是不会有反应的。
还有,对于OffResult==DialogResult.OK||Off.FileName.Length>=0一句我有点疑问,这句这样写似乎有点问题,“||”是或运算符,如果您这样写,当在打开对话框中单击“取消”按钮时,一样会在列表框中添加一个项目,因为只要在打开对话框中选择了文件,无论在对话框中点“确定”还是“取消”,FileName属性中都会包含选中文件的文件名,所以我觉得您可以把
System.Windows.Forms.DialogResult OffResult;
OffResult=Off.ShowDialog();//
这句和下面的
try
{
if(OffResult==DialogResult.OK||Off.FileName.Length>=0)
写在一起:
try
{
if(off.ShowDialog()==DialogResult.OK)
但是这样做会使Off.FileName在try语句后出作用域,也就是说在后面您不能使用Off.FileName调用这个文件了。无论如何您应该去掉||Off.FileName.Length>=0这一部分,我不知道您为什么要判断文件名长度大于等于0。
另外,如果按照您现在编写的代码来看,只有在您使用打开对话框打开一个文件后,列表框的双击事件才有效,而且无论您双击的是什么文件,都只会播放那个刚打开的文件。如果您想做一个类似千千静听那样的播放列表,您应该把列表框里的内容连同文件的路径存储到一个文件中。
希望这些信息对您有帮助。如果还有疑问,您可以联系我,谢谢。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询