此项目需求是针对.wav格式音频进行操作,转换成相应的.mp3格式的音频文件,对音频进行切割,最后以需求的形式输出,此篇会回顾运用到的一些知识点。
1.MDI子窗口的建立:
首先一个窗体能够创建多个MDI窗体,应当将IsMDIContainer属性设为true;以下为效果图:
控制窗体切换的是一个DotNetBar.TabStrip控件,style属性为Office2007Document,TabLayOutType:FixedWithNavigationBox
创建窗体的代码如下:
01 | /// <summary> |
02 |
/// 创建MDI子窗体类 |
03 |
/// </summary> |
04 |
class CreateMDIWindow |
05 |
{ |
06 |
/// <summary> |
07 |
/// 当前程序的主窗体对象 |
08 |
/// </summary> |
09 |
public static Form MainForm { get ; set ; } |
10 |
|
11 |
/// <summary> |
12 |
/// 创建子窗口 |
13 |
/// </summary> |
14 |
/// |
15 | <typeparam name= "T" > 窗口类型 |
16 | </typeparam> |
17 |
public static void CreateChildWindow |
18 | <t> () where T : Form, new () |
19 |
// where 子句还可以包括构造函数约束。 可以使用 new 运算符创建类型参数的实例;但类型参数为此必须受构造函数约束 |
20 |
// new() 的约束。 new() 约束可以让编译器知道:提供的任何类型参数都必须具有可访问的无参数(或默认)构造函数。 |
21 |
{ |
22 |
T form = null ; |
23 |
|
24 |
var childForms = MainForm.MdiChildren; |
25 |
//遍历窗体 |
26 |
foreach (Form f in childForms) |
27 |
{ |
28 |
if (f is T) |
29 |
{ |
30 |
form = f as T; |
31 |
break ; |
32 |
} |
33 |
} |
34 |
//如果没有,则创建 |
35 |
if (form == null ) |
36 |
{ |
37 |
//新建窗体 |
38 |
form = new T(); |
39 |
//设定窗体的图标 |
40 |
form.Icon = System.Drawing.Icon.FromHandle(PRoperties.Resources.MainIcon.GetHicon()); |
学习交流
热门图片
猜你喜欢的新闻
新闻热点 2019-10-23 09:17:05
2019-10-21 09:20:02
2019-10-21 09:00:12
2019-09-26 08:57:12
2019-09-25 08:46:36
2019-09-25 08:15:43
疑难解答 |