c#做的带列表视频播放器
### C#实现的带列表功能的视频播放器 #### 项目背景与概述 根据所提供的代码片段及描述,我们可以了解到这是一个基于C#语言开发的简单视频播放器应用。开发者提到自己是初学者,并且该应用程序目前仅实现了基础的列表功能,没有进行任何界面美化处理。下面我们将对该项目的主要功能及实现方式进行详细介绍。 #### 主要功能分析 ##### 视频文件的加载与播放 1. **文件选择与加载**:用户可以通过点击按钮来打开一个文件对话框(`OpenFileDialog`)选择需要播放的视频文件(默认为AVI格式)。所选文件将被存储在字符串数组`g`中,并显示在列表框(`ListBox`)内。 - **关键代码**: ```csharp openFileDialog1.Filter = "视频文件(*.avi)|*.avi"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { temp = openFileDialog1.FileName; tt = System.IO.Path.GetFileNameWithoutExtension(temp); listBox1.Items.Add(tt); g[i] = temp; i++; } ``` 2. **视频播放**:当用户从列表中选择一个视频时,程序会遍历之前保存的文件路径,找到对应的选择项并设置为当前播放的视频源。 - **关键代码**: ```csharp if (listBox1.SelectedItem != null) { for (int j = 0; j < g.Length; j++) { if (listBox1.SelectedItem.ToString() == System.IO.Path.GetFileNameWithoutExtension(g[j])) { WindowsMediaPlayer1.URL = g[j]; } } } ``` ##### 用户交互设计 1. **文件菜单操作**:提供了“打开”(`O`)和“退出”(`顺畅`)两个菜单项,分别用于打开新的视频文件以及退出应用程序。 - **关键代码**: ```csharp private void OToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.Filter = "视频文件(*.avi)|*.avi"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { WindowsMediaPlayer1.URL = openFileDialog1.FileName; } } private void 顺畅ToolStripMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } ``` 2. **列表管理**:支持从列表中移除已添加的视频条目。 - **关键代码**: ```csharp private void ɾToolStripMenuItem_Click(object sender, EventArgs e) { if (listBox1.SelectedIndex >= 0) { listBox1.Items.RemoveAt(listBox1.SelectedIndex); } } ``` 3. **链接标签操作**:用户点击链接标签时,会弹出文件对话框让用户选择视频文件并立即播放。 - **关键代码**: ```csharp private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { openFileDialog1.Filter = "视频文件(*.avi)|*.avi"; if (openFileDialog1.ShowDialog() == DialogResult.OK) { WindowsMediaPlayer1.URL = openFileDialog1.FileName; } linkLabel1.Visible = false; } ``` #### 总结 通过以上分析可以看出,该视频播放器虽然功能较为基础,但已经能够满足用户的基本需求,包括视频文件的加载、播放控制以及简单的列表管理。对于初学者来说,这个项目不仅提供了一个很好的学习案例,还能够帮助理解C#中的一些核心概念和技术,如文件对话框的使用、控件事件处理等。此外,为了进一步提升用户体验,还可以考虑增加更多功能,比如播放进度控制、音量调节、界面美化等,这些都将是未来版本可以探索的方向。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace WindowsApplication4
{
public partial class Form1 : Form
{
OpenFileDialog openFileDialog1 = new OpenFileDialog();
string[] g = new string[50];
int i = 0;
string temp = "",tt="";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "视频文件(*.avi)|*.avi";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
temp = openFileDialog1.FileName;
tt = System.IO.Path.GetFileNameWithoutExtension(temp);
listBox1.Items.Add(tt);
- xxbtupian2014-03-26有点简单,自己加的列表
- xph20xyx2012-11-23还可以。。。用起来。。。代码能更清晰就好了
- cy5256892013-06-20代码是能用,不过太简单了,最好有列表的
- boolii2014-08-11不是我想用的那种..
- 粉丝: 2
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 使用C++实现的常见算法
- travel-web-springboot【程序员VIP专用】.zip
- 基于Matlab, ConvergeCase中部分2D结果文件输出至EXCEL中 能力有限,代码和功能极其简陋.zip
- java桌面小程序,主要为游戏.zip学习资源
- Java桌面-坦克大战小游戏.zip程序资源
- java语言做的魔板小游戏.zip
- 初学JAVA制作的坦克大战小游戏,使用JAVA 的GUI模拟2,5D界面.zip
- 公开整理-2024年832个国家级贫困县摘帽情况分省分年统计.xlsx
- 纯js+Jquery实现2048游戏
- 叠罗汉游戏,安卓java实现,自定义Framlayout,属性动画.zip