C#Winform编程自学笔记第八篇,上接自学笔记(七)
个人代码,仅供参考:
链接:https://pan.baidu.com/s/1TGZBtjLuRYHoh8kBHuGDAw
提取码:yj65
————————正文————————
Windows应用程序有时可能会要求播放一些多媒体文件,最简单的办法是通过.NET Framewok类库所提供的第三方COM组件形式,借助第三方插件实现对流媒体文件的播放。
引用第三方COM组件的形式为:右击工具箱,在弹出的快捷菜单中选择“选择项”命令,在打开的“选择工具箱项”中选择页式表的COM组件。
Windows Media Player 官方默认流媒体播放器组件;
案例学习:
1)打开一个新窗体,从工具箱的对话框中选择OpenFileDialog对象,该对象可以临时打开一个选择文件对话框,允许用户选择一个基本文件:
2)双击窗体界面对Load函数进行编辑:
private void Form2_Load(object sender, EventArgs e)
{
openFileDialog1.ShowDialog();
//通过OpenFileDialog1对象打开文件对话框,选择一个文件
axWindowsMediaPlayer1.URL = openFileDialog1.FileName;
//将用户选择的文件名称及物理路径赋值给axWindowsMediaPlayer1的“播放地址”属性
}
C#允许用户进行克难攻坚的自定义,使用.NET Framework可以实现一些新的控件;
所有控件,无论是系统自带的还是用户自定义的,都来自Control类。
Control类是Windows窗体控件的基类,提供了Windows船体控件中进行可视化显示所需要的所有基础结构。
开发人员自行编写的控件可以分为三类:
1)复合控件:组合现有的控件实现功能;
2)扩展控件:扩展基本控件的功能;
3)自定义控件:从头开始创建一个全新的控件。
在下列情况下,可以编写自定义控件:
1)想要提供控件的自定义图形化表示形式;
2)需要实现无法从标准控件获取的自定义功能。
案例学习:
如何建立用户自定义控件并引用它
1)定义一个用户自定义控件需要在解决方案资源管理器下右击,在弹出的快捷菜单中选择“添加”-》“用户控件”命令;
2)在打开的“用户控件”界面中像建立普通窗体应用一样从工具箱拖拽一个label标签和一个Button控件。
3)双击“改变次数”按钮,进入鼠标单击事件的编码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UNIT2_3
{
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
}
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
i++;
label1.Text = i.ToString();
}
}
}
4)运行一下这个用户自定义控件,则该控件将自动在工具箱中以组件的形式出现,然后新建一个窗体,打开工具箱,将生成的组件直接拖拽到窗体上就可以使用了。
使用一个容器将这些按钮放在一起,比如GroupBox组件,就像一个兜兜,把所有按钮都装了进去。
底部工具栏,一般使用文本和图像向用户展示应用程序当前的状态。
允许添加的控件包括:
标签,进度条,下拉列表控件和分割控件。
上下版走马灯。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace UNIT2_3
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
pictureBox1.Top -=10;
if(pictureBox1.Top<0)
{
pictureBox1.Top = Height;
}
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Stop();
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Start();
}
}
}
集思广益,授人以渔。
集中多人智慧对这个软件进行二次开发,使得它的使用功能越来越丰富;而且自定义控件也为winform变成提供了“个性化”的编辑方式,使得它可以适应各种各样的开发要求。