C#上机指导 下载本文

内容发布更新时间 : 2024/11/20 17:32:47星期一 下面是文章的全部内容请认真阅读。

第1章

上机实验指导

实验1 Windows窗体程序

【开发语言及实现平台或实验环境】 ? C#语言;

? Visual Studio 2005/2008。 【实验目的】

掌握Windows窗体程序中菜单、工具栏、定时器以及其他常用控件的使用。 【实验要求】

掌握基本控件的常用属性和事件代码的编写。 【实验步骤】

GroupBox示例:通过单选按钮改变窗体颜色。 (1)设计本例的界面,如图1.1所示。 代码如下。

{

if (radioButton1.Checked) {

this.BackColor = Color.Gray; } }

private void radioButton2_CheckedChanged(object sender, EventArgs e) {

if ((sender as RadioButton).Checked) {

this.BackColor = Color.Blue; } }

图1.1 GroupBox的演示程序

private void radioButton1_CheckedChanged(object sender, EventArgs e)

说明:这里针对“灰色”单选按钮和“蓝色”单选按钮写了不同的代码,主要是想告诉大家一些as的用法。sender是引发这个事件的控件,它不是代表radioButton1,就是代表radioButton2。但是这个地方是不能够直接写sender.Checked的,这是因为sender是object类型的对象,并不存在Checked属性,即使sender这个时候是对radioButton2的引用。这

Visual C#.NET实验与案例教程 时候可以通过as进行类型转换,这样就可以使用Checked属性来判定按钮的选中状态。

练习:如果在界面上有很多radioButton,例如10个。我们希望每单击一个radioButton的时候,都能弹出对话框告诉我们单击的是哪一个。很显然,我们需要对每一个按钮双击,

2 然后写入类似的代码,这是一个机械性重复的工作。为了提高效率我们应该将类似的代码封装成为一个函数,然后在每个单击按钮中调用这个函数就方便多了。

参考代码:

private void rbnClick(object sender) {

if ((sender as RadioButton).Checked)

{

MessageBox.Show(\你点击的是:\ } }

private void radioButton1_CheckedChanged(object sender, EventArgs e) {

rbnClick(sender); }

private void radioButton2_CheckedChanged(object sender, EventArgs e) {

rbnClick(sender); }

(2)显示当前的时间。 ① 新建工程。

② 在窗体上放置一个Label控件,命名为lblClock。并设置以下属性:

this.lblClock.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.lblClock.Name = \

this.lblClock.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblClock.AutoSize = false;

③ 在窗体上放置一个Timer控件,该控件可以在Component组件页中找到。并设定以下属性:

this.timer1.Enabled = true; this.timer1.Interval = 1000;

④ 双击Timer控件,编写timer1_Tick事件:

private void timer1_Tick(object sender, EventArgs e) {

lblClock.Text = DateTime.Now.ToLongTimeString(); }

说明:Timer控件的Interval属性指时间间隔。每隔一个Interval长度的时间,Timer

控件的Tick事件就触发一次。要注意,Timer控件只有唯一的事件Tick。

实验2 图 像 编 程

【开发语言及实现平台或实验环境】 ? C#语言;

? Microsoft Visual Studio .NET 2005/2008。 【实验目的】

(1)掌握图像访问中常见的类及相应的方法。

(2)掌握图像及其他图像信息的类及相应的方法和属性。 【实验步骤】

图片由彩色转换为灰度可以通过“平均法”、“敏感度法”、“直接法”来实现,使用“保存”、“上页”、“下页”等按钮来控制图片的转换、保存和浏览。 (1)设计程序界面。

① 新建名为expGray的应用程序,在项目管理器中,将默认窗体文件名由Form1改为frmPicGray,将该窗体的Text属性由Form1改为“彩色图像灰度化”。

② 在expGray项目下新建一个文件夹,将4张图片放入其中。

③ 在工具栏中找到并添加一个pictureBox1控件到窗体中,将pictureBox1的名字改为pbPicNav。

④ 在工具栏中找到并添加一个button1控件到窗体中,将button1的Name属性改为btnGrayAvg,Text属性改为“平均法”。

⑤ 在工具栏中找到并添加一个button2控件到窗体中,将button2的Name属性改为btnGraySen,Text属性改为“敏感度法”。 ⑥ 在工具栏中找到并添加一个button3控件到窗体中,将button3的Name属性改为btnGrayDir,Text属性改为“直接法”。 ⑦ 在工具栏中找到并添加一个button4控件到窗体中,将button4的Name属性改为btnSave,Text属性改为“保存图像”。 ⑧ 在工具栏中找到并添加一个button5控件到窗体中,将button5的Name属性改为btnLastPage,Text属性改为“上一张”。

⑨ 在工具栏中找到并添加一个button6控件到窗体中,将button6的Name属性改为btnNextPage,Text属性改为“下一张”。

界面设计效果如图1.2所示。

(2)设计程序代码。

① 定义三个全局变量,分别存储图片数组、当前临时图片和图片的序号。

Bitmap[] bmp; Bitmap tempBmp; int n = 0; 3 ② 在窗体加载的时候将图片的位置存储在bmp位图数组中,将图片控件指向第一幅 上机实验指导 第 1 章