资源描述
---------- 【C#入门】 --------------- 3
实例1:第一个Windows控制台应用程序 4
实例2:第一个Windows窗体应用程序 4
实例3:第一个ASP.NET应用程序 5
---------- 【基本控件使用】 ------------- 6
实例4:使用Form创建欢迎界面 6
实例5:窗体的淡入淡出 6
实例6:使用进度条指示进度 7
实例7:使用基本控件显示详细信息 8
实例8:使用ListView显示概要信息 9
实例9:使用TreeView进行导航 10
实例10:使用MonthCalendar 11
实例11:使用基本控制创建登录界面 12
实例12:使用ToolTip创建提示 15
实例13:使用模式窗体进行界面锁定 15
实例14:创建窗体关闭提示对话框 16
实例15:创建系统信息显示程序 16
实例16:多文档应用程序 18
实例17:创建多媒体Windows Media Player程序 19
实例18:创建计算器程序 19
实例19:创建记事本Notepad程序 21
---------- 【容器类控件使用】 ----------- 23
实例20:使用GroupBox 23
实例21:在GroupBox中使用GroupBox 23
实例22:利用GroupBox控件提示当前位置 24
实例23:使用Panel 25
实例24:使用Panel提示当前位置 26
实例25:使用SplitContainer控件 27
实例26:使用TabControl 27
实例27:使用TableLayoutPanel 27
---------- 【菜单、工具栏与状态栏应用】 --------- 27
实例28:菜单、工具栏和状态栏综合示例 27
---------- 【对话框应用】 --------- 32
实例29:打开、保存、字体、颜色、浏览文件夹、页面设置、打印预览、打印及自定义对话框综合示例 33
实例30:如何自定义对话框 37
---------- 【输入输出】 --------- 38
实例31:控制台输出 38
实例32:控制台输入 39
实例33:使用文件类File操作文件 40
实例34:使用Directory操作文件夹 40
实例35:使用FileInfo操作文件 40
实例36:使用DirectoryInfo操作文件夹 40
实例37:使用FileStream读写文件 41
实例38:使用StreamWriter写文件 42
实例39:使用StreamReader写文件 43
实例39:使用BinaryWriter写文件 43
实例40:使用BinaryReader写文件 44
实例41:读取注册表 44
实例42:写入注册表 44
实例43:列出指定注册表项下的所有键值 45
实例44:删除注册表项 45
实例45:ini文件读写 46
实例46:创建XML文件 47
实例47:读取XML文件 50
---------- 【操作Office文件】 ----------- 55
实例48:创建Word2003文档 55
实例49:创建Word2007文档 55
实例50:向Word文档中写入文本内容 55
实例51:向Word文档中写入格式化文本 55
实例52:向Word文档中添加表格 55
实例53:向Word文档中添加图片 56
实例54:创建Excel2003文档 56
实例55:创建Excel2007文档 56
实例56:向Excel文档中写入数据 56
实例57:在Excel文档中绘制图表 56
实例58:创建PPT2003 56
实例59:创建PPS2003 56
实例60:向PPT中写入数据 57
实例61:向PPT中添加图片 57
实例62:创建PDF 57
实例63:设置PDF页面大小 57
实例64:设置PDF文档边界 57
实例65:设置PDF文档信息 57
实例66:新建PDF文档页 57
实例67:设置PDF文档默认格式 57
实例68:读取PDF(将4页合成1页) 58
---------- 【绘图GDI+】 ----------- 58
实例69:创建函数图形 58
实例70:Window简单画板 59
实例71:截屏程序 59
---------- 【进程与线程】 ----------- 59
实例72:使用进程加载应用程序 59
实例73:进程信息查看程序 60
实例74:创建进程管理程序 60
实例75:创建多线程程序 62
实例76:向线程传递参数 63
实例77:为线程命名 63
实例78:调整线程优先级 64
---------- 【网络应用】 ----------- 64
实例79:使用WebClient下载网页 64
实例80:创建Web页面浏览程序 65
实例81:使用COM组件创建Web页面浏览程序 65
实例82:使用DNS进行地址解析 65
实例83:用C#实现FTP浏览 66
---------- 【数据库应用】 --------------- 66
实例84:使用VS服务器资源管理器连接SQL Server 2000 66
实例85:使用程序直接连接SQL Server 2000 67
实例86:使用VS服务器资源管理器连接Access 67
实例87:通过ODBC连接数据源(Access数据库) 67
实例88:通过OLE DB连接数据源(Access数据库) 70
实例89:连接Oracle数据库 71
实例90:连接Mysql数据库 72
---------- 【ASP.NET应用】 ----------- 75
实例91:获得服务器和客户端信息 75
实例92:必需字段验证 75
实例93:比较验证 75
实例94:范围验证 76
实例95:正则表达式验证 76
实例96:自定义验证 76
实例97:验证总结控件的使用 77
实例98:ASP.NET获得目录信息 77
实例99:ASP.NET中使用下拉列表框控件 78
实例100:ASP.NET中使用列表框控件 78
实例101:ASP.NET中使用复选框控件 78
实例102:ASP.NET中通过OLE DB访问Access 79
实例103:ASP.NET中通过ODBC访问Access 79
实例104:ASP.NET中访问Oracle 80
实例105:ASP.NET中对MySQL进行操作(CRUD) 80
---------- 【水晶报表应用】 ----------- 81
实例106:创建新的报表程序 81
实例107:现有程序中添加报表功能 82
实例108:在报表中使用MySQL 82
实例109:在报表中使用MySQL 83
---------- 【C#入门】 ---------------
实例1:第一个Windows控制台应用程序
本实例的目标是在控制台窗口打印“你好,C#!”。
S1:新建一个控制台应用程序ConsoleHello,选择好保存路径,确定
S2:在打开的窗口中的主函数中写入以下语句
Console.WriteLine("你好,C#!");
S3:按Ctrl+F5运行,可看到如下效果
实例2:第一个Windows窗体应用程序
本实例的目标是建立一个窗体,窗体上有个按钮,点击按钮会弹出一个对话框。
S1:新建一个Windows窗体应用程序项目WindowsHello,选择好保存路径,确定
S2:在打开的窗体设计器上放置一个按钮(双击工具箱的按钮组件即可)
S3:双击按钮,进入按钮单击事件,写入以下代码
MessageBox.Show("你好,C#!");
S4:按F5运行,即可看到效果
实例3:第一个ASP.NET应用程序
本实例的目标是建立一个ASP.NET应用程序,即网站。
S1:建立一个ASP.NET Web应用程序
S2:在Default.aspx中的第12行输入以下代码
你好,C#!
S3:按F5运行,即可
---------- 【基本控件使用】 -------------
实例4:使用Form创建欢迎界面
目的是制作一个欢迎界面。
S1:创建一个Windows窗体应用程序项目SplashScreen,将窗体文件Form1.cs改名为SplashScreen.cs。
S2:设置窗体的属性
StartPosition
CenterScreen
FormBorderStyle
None
BackgroundImage
自己导入一幅图片
S3:为窗体添加Load事件
private void SplashScreen_Load(object sender, EventArgs e)
{
this.ClientSize = this.BackgroundImage.Size;
}
实例5:窗体的淡入淡出
使用定时器实现窗体的淡入与淡出。
S1:创建一个Windows窗体应用程序项目Fade,将窗体文件Form1.cs改名为Fade.cs。
S2:为窗体添加一个Timer控件,将其名称由timer1改名为timer。
S3:和实例3一样为窗体设置背景图片、窗体位置和边框样式。
S4:为窗体的Load事件添加如下代码
private bool isFade = true; //用于指示淡出变化方向的变量
private void Fade_Load(object sender, EventArgs e)
{
this.ClientSize = this.BackgroundImage.Size;
this.Opacity = 0; //全透明
this.timer.Interval = 50; //设置定时器属性并启动
this.timer.Enabled = true;
this.timer.Start();
}
S5:为timer添加Tick事件
private void timer_Tick(object sender, EventArgs e)
{
if (isFade)
{
this.Opacity += 0.02; //由透明变为不透明
if (this.Opacity >= 1)
{
isFade = false;
}
}
else
{
this.Opacity -= 0.02; //由不透明变为透明
if (this.Opacity <= 0)
{
this.timer.Stop();
this.Close();
}
}
}
实例6:使用进度条指示进度
学会如何使用进度条。
S1:创建一个Windows窗体应用程序项目Progress,将窗体文件Form1.cs改名为Progress.cs。
S2:和实例3一样为窗体设置背景图片、窗体位置和边框样式。
S3:为窗体添加一个ProgressBar控制,并设置Dock=Bottom。
S4:为窗体添加一个Timer控件,将其名称由timer1改名为timer。
S5:为窗体的Load事件添加如下代码
private void Progress_Load(object sender, EventArgs e)
{
this.ClientSize = this.BackgroundImage.Size;
this.progressBar1.Value = 0; //进度条初始值为0
this.timer.Interval = 50; //设置定时器属性
this.timer.Enabled = true;
this.timer.Start();
}
S6:为timer添加Tick事件
private void timer_Tick(object sender, EventArgs e)
{
this.progressBar1.Value += 1;
if (this.progressBar1.Value >= 100)
{
this.timer.Stop();
this.Close();
}
}
实例7:使用基本控件显示详细信息
学会使用基本控件。
S1:创建一个Windows窗体应用程序项目SimpleForm,将窗体文件Form1.cs改名为SimpleForm.cs。并设置窗体Text=详细信息。
S2:在窗体上放置一个PictureBox,并设置其Image属性(导入一幅图片)。添加5个Label控件,并设置它们的Text属性。如下图所示。
S3:在窗体上放置一个DataTimePicker并设置Value属性。
S4:在窗体上放置一个TextBox并设置Multiline=True,Text=张三的个人说明。
S5:在窗体上放置两个按钮,其Text分别为“确定”和“取消”。并为两按钮添加事件响应。同时将窗体的AcceptButton和CancelButton分别设置为确定和取消按钮,这样在按下Esc键时也会触发按钮的事件。
private void button1_Click(object sender, EventArgs e)
{
this.Close(); //关闭窗体
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
实例8:使用ListView显示概要信息
学会使用ListView。
S1:创建一个Windows窗体应用程序项目ListViewDemo,将窗体文件Form1.cs改名为ListViewDemo.cs。并设置窗体Text=概要信息。
S2:向窗体中添加一个ListView和5个Button,Button的Text属性如下图
S3:向窗体中添加一个ImageList,并设置其Image属性,为其添加几个图片。
S4:为ListView的Column属性添加三个ColumnHeader,其Text属性分别为姓名、籍贯和性别。
S4:为ListView的Item属性添加一个成员,并设置这个成员的Text=张三。
S5:为张三这个ListViewItem的SubItem设置两个ListViewSubItem,其Text分别为“北京市”和“男”。
S6:设置ListView的LargeImageList和SmallImageList的属性为添加的ImageList,并在张三这个ListViewItem的ImageIndex中选择想要的图像。
S7:为上面5个按钮添加事件代码。
private void button1_Click(object sender, EventArgs e)
{
listView1.View = View.LargeIcon;
}
private void button2_Click(object sender, EventArgs e)
{
listView1.View = View.Details;
}
private void button3_Click(object sender, EventArgs e)
{
listView1.View = View.SmallIcon;
}
private void button4_Click(object sender, EventArgs e)
{
listView1.View = View.List;
}
private void button5_Click(object sender, EventArgs e)
{
listView1.View = View.Tile;
}
实例9:使用TreeView进行导航
学会使用TreeView。
S1:创建一个Windows窗体应用程序项目TreeViewDemo。
S2:在窗体上放置一个TreeView,并设置Dock=Left。
S3:在窗体上添加一个ImageList并添加一幅图片,然后设置TreeView的ImageList为imageList1。
S4:在窗体上添加一个ListView。
S5:为窗体添加Load事件,在添加之前,要添加System.IO引用
private void ListNodes(string path)
{
string[] paths = Directory.GetDirectories(path);
foreach (string p in paths)
{
treeView1.Nodes.Add(p);
ListNodes(p);
}
}
private void Form1_Load(object sender, EventArgs e)
{
string path = @"C:\Documents and Settings\Administrator\Favorites";
ListNodes(path); //得到指定目录下文件夹并添加到TreeView
}
S6:为TreeView添加AfterSelect事件
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
string path = treeView1.SelectedNode.Text;
string[] files = Directory.GetFiles(path);
listView1.Items.Clear(); //清空ListView
listView1.View = View.List;
foreach (string file in files) //将选择文件夹下的文件添加到ListView
{
listView1.Items.Add(file);
}
}
实例10:使用MonthCalendar
S1:创建一个Windows窗体应用程序项目MonthCalendar。
S2:为窗体添加一个MonthCalendar控件。为窗体添加一个TextBox,并设置Multiline=True。为窗体添加一个按钮,并设置其Text=添加。
S3:为Form.cs添加System.Collections引用。并为MonthCalendar添加DateChanged事件,为按钮添加Click事件。
private Hashtable diary = new Hashtable();
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
if (diary.ContainsKey(monthCalendar1.SelectionStart))
{
textBox1.Text = diary[monthCalendar1.SelectionStart].ToString();
}
else
{
textBox1.Text = "没有记录";
}
}
private void button1_Click(object sender, EventArgs e)
{
if (diary.ContainsKey(monthCalendar1.SelectionStart))
{
diary[monthCalendar1.SelectionStart] = textBox1.Text;
}
else
{
diary.Add(monthCalendar1.SelectionStart, textBox1.Text);
}
}
实例11:使用基本控制创建登录界面
S1:创建一个Windows窗体应用程序项目LoginDemo。
S2:设计如下界面,设计密码框时要将TextBox的PasswordChar设置为*。
S3:添加窗体加载事件Load代码。
/// <summary>
/// 生成验证码并设置到相应的Label上
/// </summary>
private void GenValid()
{
Random r = new Random();
string valid = string.Empty;
for (int i = 0; i < 4; i++)
{
valid += Math.Floor(r.NextDouble() * 10).ToString();
}
label5.Text = valid;
}
private void Form1_Load(object sender, EventArgs e)
{
GenValid();
}
S4:为清除按钮添加事件
private void button1_Click(object sender, EventArgs e)
{
textBox1.Clear(); //清空输入框
textBox2.Clear();
textBox3.Clear();
GenValid(); //重新生成验证码
}
S5:为取消按钮添加事件
private void button2_Click(object sender, EventArgs e)
{
this.Close(); //取消则关闭窗体
}
S6:为验证码输入框离开事件添加代码
//验证是否为数字
private bool IsNum1(string s)
{
try
{
Convert.ToInt32(s);
}
catch
{
return false; //有异常,转换失败
}
return true;
}
private void textBox3_Leave(object sender, EventArgs e)
{
if (!IsNum1(textBox3.Text)) //验证验证码输入的是否为数字
{
MessageBox.Show("请输入正确格式的验证码!");
textBox3.SelectAll();
textBox3.Focus();
}
}
S7:为登录按钮添加事件
//验证验证码是否为4位
private bool ValidLength(string s)
{
if (s.Length == 4)
return true;
else
return false;
}
//验证用户名和密码是否为空
private bool ValidEmpty()
{
if ((textBox1.Text == string.Empty) || (textBox2.Text == string.Empty))
return false;
else
return true;
}
//登录验证
private void button3_Click(object sender, EventArgs e)
{
if (!ValidEmpty())
{
MessageBox.Show("请输入用户名和密码!");
return;
}
if (!ValidLength(textBox3.Text))
{
MessageBox.Show("验证码长度不正确!");
return;
}
if (textBox3.Text != label5.Text)
{
MessageBox.Show("验证码不正确!");
return;
}
if (textBox1.Text == textBox2.Text)
MessageBox.Show("验证成功!");
else
MessageBox.Show("用户名和密码不匹配!");
}
实例12:使用ToolTip创建提示
S1:创建一个Windows窗体应用程序项目ToolTipDemo 。
S2:在窗体上添加ToolTip控件,并设置其ToolTipTitle=帮助提示。
S3:在窗体上放置一个按钮和文本框,并设置它们的ToolTip分别为“单击确定按钮”和“输入所需内容”。
实例13:使用模式窗体进行界面锁定
S1:创建一个Windows窗体应用程序项目LockDemo。
S2:在窗体上添加一个锁定按钮,如下图左。
S3:新建一个Lock窗体,并设置KeyPreview=True,如上图右。
S4:锁定按钮代码如下
private void button1_Click(object sender, EventArgs e)
{
//显示模式窗体
Lock frmLock = new Lock();
frmLock.ShowDialog();
}
S5:Lock窗体解锁代码及窗体的KeyDown代码如下。
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "1234") //若输入1234,则解锁原窗体
this.Close();
}
private void Lock_KeyDown(object sender, KeyEventArgs e)
{
//对Alt+F4屏蔽
if (e.KeyCode == Keys.F4 && e.Modifiers == Keys.Alt)
e.Handled = true;
}
实例14:创建窗体关闭提示对话框
S1:创建一个Windows窗体应用程序项目QuitDemo。
S2:为窗体的FormClosing添加如下代码。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
//创建一个退出提示对话框,并获得用户的选择
DialogResult dr = MessageBox.Show("确定要退出程序吗?", "退出提示",
MessageBoxButtons.OKCancel);
//取消
if (dr == DialogResult.Cancel)
e.Cancel = true;
}
实例15:创建系统信息显示程序
S1:创建一个Windows窗体应用程序项目InfoDemo。
S2:Form1设计如下,4个按钮事件如下
private void button1_Click(object sender, EventArgs e)
{
throw new IndexOutOfRangeException();
}
private void button2_Click(object sender, EventArgs e)
{
throw new InvalidOperationException();
}
private void button3_Click(object sender, EventArgs e)
{
throw new InvalidCastException();
}
private void button4_Click(object sender, EventArgs e)
{
throw new InvalidProgramException();
}
S3:添加一个窗体Form2,设计如下,并添加构造函数
Exception e = new Exception();
public Form2(Exception m_Exception)
{
InitializeComponent();
e = m_Exception;
#region 提示信息
label1.Text += e.Message;
label2.Text += e.HelpLink;
label3.Text += e.Source;
textBox1.Text += e.StackTrace;
textBox2.Text += e.TargetSite.ToString();
#endregion
#region 系统信息
展开阅读全文