《面向对象程序设计》实验报告_第1页
《面向对象程序设计》实验报告_第2页
《面向对象程序设计》实验报告_第3页
《面向对象程序设计》实验报告_第4页
《面向对象程序设计》实验报告_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告课程名称面向对象程序设计实验名称实验二Web及用户控件系部经济管理学院班级姓名学号实验时间年月日时分~时分地点机位评语指导教师:成绩注:将实验成果文件(包含实验报告电子文件、程序源代码文件等),用WinRar打包,以<班级>_<学号>_<实验X>.RAR文件形式交付指导老师。一、实验目的1.掌握C#程序中的基本语法;2.掌握Windows应用程序基本控件的使用;掌握调试工具的使用.3.初步熟悉C#语言的事件驱动机制,掌握方法的定义与调用;掌握数组的定义与使用;熟悉排序算法。二、实验内容使用VisualStudio.NET,完成以下程序:程序1、通过Windows应用程序,绘制满足加减乘除运算基本计算器界面,并编写程序,使这个计算器能完成简单的四则运算。程序2、加法计算。程序3、创建Windows窗体个人简历应用程序程序4、使用菜单、工具栏来改变窗口的大小与颜色。程序5、创建一个单文档的文本编辑器应用程序。程序6、实现计算器的功能。(选做)程序7、实现计算器的功能。(选做)三、实验步骤启动VisualStudio.NET,完成程序,并调试运行。四、程序主要语句及作用程序1的主要代码(附简要注释),主要控件(主要属性说明)publicpartialclassForm1:Form{doublesum=0;boolblnClear=false;stringstrOper="+";publicForm1(){InitializeComponent();}privatevoidbtn_clr_Click(objectsender,EventArgse){textBox1.Text="0";sum=0;blnClear=false;strOper="+";}privatevoidbutton2_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton3_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton4_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton6_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton7_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton8_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton10_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton11_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton12_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbutton14_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个加数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}Buttonb1=(Button)sender;if(textBox1.Text!="0")textBox1.Text+=b1.Text;elsetextBox1.Text=b1.Text;}privatevoidbtn_dot_Click(objectsender,EventArgse){if(blnClear)//如果准备输入下一个数,应先清除textBox1显示内容{textBox1.Text="0";blnClear=false;}intn=textBox1.Text.IndexOf(".");if(n==-1)//如果没有小数点,增加小数点,防止多次输入小数点textBox1.Text+=".";}privatevoidbtn_add_Click(objectsender,EventArgse){doubledbSecond=Convert.ToDouble(textBox1.Text);if(!blnClear)//如果未输入第二个操作数,不运算switch(strOper)//按记录的运算符号运算{case"+":sum+=dbSecond;break;case"-":sum-=dbSecond;break;case"*":sum*=dbSecond;break;case"/":sum/=dbSecond;break;}if(sender==btn_add)strOper="+";if(sender==btn_sub)strOper="-";if(sender==btn_mul)strOper="*";if(sender==btn_div)strOper="/";if(sender==btn_equ)strOper="=";textBox1.Text=Convert.ToString(sum);blnClear=true;}privatevoidbtn_sub_Click(objectsender,EventArgse){doubledbSecond=Convert.ToDouble(textBox1.Text);if(!blnClear)//如果未输入第二个操作数,不运算switch(strOper)//按记录的运算符号运算{case"+":sum+=dbSecond;break;case"-":sum-=dbSecond;break;case"*":sum*=dbSecond;break;case"/":sum/=dbSecond;break;}if(sender==btn_add)strOper="+";if(sender==btn_sub)strOper="-";if(sender==btn_mul)strOper="*";if(sender==btn_div)strOper="/";if(sender==btn_equ)strOper="=";textBox1.Text=Convert.ToString(sum);blnClear=true;}privatevoidbtn_mul_Click(objectsender,EventArgse){doubledbSecond=Convert.ToDouble(textBox1.Text);if(!blnClear)//如果未输入第二个操作数,不运算switch(strOper)//按记录的运算符号运算{case"+":sum+=dbSecond;break;case"-":sum-=dbSecond;break;case"*":sum*=dbSecond;break;case"/":sum/=dbSecond;break;}if(sender==btn_add)strOper="+";if(sender==btn_sub)strOper="-";if(sender==btn_mul)strOper="*";if(sender==btn_div)strOper="/";if(sender==btn_equ)strOper="=";textBox1.Text=Convert.ToString(sum);blnClear=true;}privatevoidbtn_div_Click(objectsender,EventArgse){doubledbSecond=Convert.ToDouble(textBox1.Text);if(!blnClear)//如果未输入第二个操作数,不运算switch(strOper)//按记录的运算符号运算{case"+":sum+=dbSecond;break;case"-":sum-=dbSecond;break;case"*":sum*=dbSecond;break;case"/":sum/=dbSecond;break;}if(sender==btn_add)strOper="+";if(sender==btn_sub)strOper="-";if(sender==btn_mul)strOper="*";if(sender==btn_div)strOper="/";if(sender==btn_equ)strOper="=";textBox1.Text=Convert.ToString(sum);blnClear=true;}privatevoidbtn_equ_Click(objectsender,EventArgse){doubledbSecond=Convert.ToDouble(textBox1.Text);if(!blnClear)//如果未输入第二个操作数,不运算switch(strOper)//按记录的运算符号运算{case"+":sum+=dbSecond;break;case"-":sum-=dbSecond;break;case"*":sum*=dbSecond;break;case"/":sum/=dbSecond;break;}if(sender==btn_add)strOper="+";if(sender==btn_sub)strOper="-";if(sender==btn_mul)strOper="*";if(sender==btn_div)strOper="/";if(sender==btn_equ)strOper="=";textBox1.Text=Convert.ToString(sum);blnClear=true;}程序2的主要代码(附简要注释),主要控件(主要属性说明)privatevoidbutton1_Click(objectsender,EventArgse){longoper1,oper2,result;//如果操作数为空,显示警告信息if((textBox1.Text=="")||(textBox2.Text=="")){MessageBox.Show(this,"操作数不能为空","提示信息",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}try{//将文本框中的数据(字符串型)转换成long型数据oper1=Convert.ToInt64(textBox1.Text);oper2=Convert.ToInt64(textBox2.Text);result=oper1+oper2;//将和写入结果文本框textBox3.Text=Convert.ToString(result);}catch(Exceptione1){//捕捉异常,例如:若输入字母,在转换成long类型时会引发异常MessageBox.Show(this,e1.Message,"警告信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);}}privatevoidtextBox1_TextChanged(objectsender,EventArgse){}程序3的主要代码(附简要注释),主要控件(主要属性说明)privatevoidPersonInfo_Load(objectsender,EventArgse){cbx_province.Items.Add("浙江省");cbx_province.Items.Add("江苏省");cbx_province.SelectedIndex=0;}privatevoidcbx_province_SelectedIndexChanged(objectsender,EventArgse){if(cbx_province.SelectedItem!=null){stringprovinceStr=cbx_province.SelectedItem.ToString().Trim();string[]zjCitys={"杭州市","宁波市","温州市","绍兴市","台州市","湖州市","金华市","嘉兴市","衢州市","丽水市","舟山市"};string[]jsCitys={"常州市","淮安市","连云港市","南京市","南通市","苏州市","宿迁市","泰州市","无锡市","徐州市","盐城市","扬州市","镇江市"};lbx_city.Items.Clear();//清空所有的Item项switch(provinceStr){case"浙江省":lbx_city.Items.AddRange(zjCitys);//添加浙江省的城市break;case"江苏省":lbx_city.Items.AddRange(jsCitys);//添加江苏省的城市break;}}}privatevoidtbx_name_TextChanged(objectsender,EventArgse){}}}privatevoidbtn_browse_Click(objectsender,EventArgse){OpenFileDialogimageDialog=newOpenFileDialog();imageDialog.Filter="BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF(*.GIF)|*.GIF|PNG(*.png)|*.png";imageDialog.Title="选择照片";if(imageDialog.ShowDialog()==DialogResult.OK){pbx_photo.ImageLocation=imageDialog.FileName;}privatevoidbtn_OK_Click(objectsender,EventArgse){if(tbx_name.Text==""&&tbx_name.Text.Length<1){MessageBox.Show("请填写姓名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}if(lbx_city.SelectedItem==null){MessageBox.Show("请选择籍贯!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);return;}MessageBox.Show("你的简历信息将会保存到数据库中,\n以便招聘企业查询!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);this.Close();程序4的主要代码(附简要注释),主要控件(主要属性说明)privatevoidMenuItem_default_Click(objectsender,EventArgse){this.BackColor=Control.DefaultBackColor;MenuItem_default.CheckState=CheckState.Indeterminate;cMenuItem_default.CheckState=CheckState.Indeterminate;MenuItem_blue.Checked=MenuItem_green.Checked=MenuItem_red.Checked=false;cMenuItem_blue.Checked=cMenuItem_green.Checked=cMenuItem_red.Checked=false;StatusLabel3.Text="默认颜色";}privatevoidcMenuItem_default_Click(objectsender,EventArgse){MenuItem_default_Click(sender,e);}privatevoidMenuItem_red_Click(objectsender,EventArgse){MenuItem_red.Checked=!MenuItem_red.Checked;if(MenuItem_red.Checked){this.BackColor=Color.Red;MenuItem_red.CheckState=CheckState.Indeterminate;cMenuItem_red.CheckState=CheckState.Indeterminate;MenuItem_blue.Checked=MenuItem_green.Checked=MenuItem_default.Checked=false;cMenuItem_blue.Checked=cMenuItem_green.Checked=cMenuItem_default.Checked=false;StatusLabel3.Text="红色";}else{this.BackColor=Control.DefaultBackColor;MenuItem_default.CheckState=CheckState.Indeterminate;cMenuItem_default.CheckState=CheckState.Indeterminate;StatusLabel3.Text="默认颜色";}}privatevoidcMenuItem_red_Click(objectsender,EventArgse){MenuItem_red_Click(sender,e);}privatevoidMenuItem_green_Click(objectsender,EventArgse){MenuItem_green.Checked=!MenuItem_green.Checked;if(MenuItem_green.Checked){this.BackColor=Color.Green;MenuItem_green.CheckState=CheckState.Indeterminate;cMenuItem_green.CheckState=CheckState.Indeterminate;MenuItem_blue.Checked=MenuItem_red.Checked=MenuItem_default.Checked=false;cMenuItem_blue.Checked=cMenuItem_red.Checked=cMenuItem_default.Checked=false;StatusLabel3.Text="绿色";}else{this.BackColor=Control.DefaultBackColor;MenuItem_default.CheckState=CheckState.Indeterminate;cMenuItem_default.CheckState=CheckState.Indeterminate;StatusLabel3.Text="默认颜色";}}privatevoidMenuItem_blue_Click(objectsender,EventArgse){MenuItem_blue.Checked=!MenuItem_blue.Checked;if(MenuItem_blue.Checked){this.BackColor=Color.Blue;MenuItem_blue.CheckState=CheckState.Indeterminate;cMenuItem_blue.CheckState=CheckState.Indeterminate;MenuItem_red.Checked=MenuItem_green.Checked=MenuItem_default.Checked=false;cMenuItem_red.Checked=cMenuItem_green.Checked=cMenuItem_default.Checked=false;StatusLabel3.Text="蓝色";}else{this.BackColor=Control.DefaultBackColor;MenuItem_default.CheckState=CheckState.Indeterminate;cMenuItem_default.CheckState=CheckState.Indeterminate;StatusLabel3.Text="默认颜色";}}privatevoidcMenuItem_green_Click(objectsender,EventArgse){MenuItem_green_Click(sender,e);}privatevoidcMenuItem_blue_Click(objectsender,EventArgse){MenuItem_blue_Click(sender,e);}privatevoidMenuItem_unTran_Click(objectsender,EventArgse){this.TransparencyKey=this.BackColor;this.Opacity=1.0;}privatevoidMenuItem_transl_Click(objectsender,EventArgse){this.TransparencyKey=this.BackColor;this.Opacity=0.5;}privatevoidtsBtn_big_Click(objectsender,EventArgse){this.Width=800;this.Height=600;StatusLabel1.Text="800x600像素";}privatevoidtsBtn_middle_Click(objectsender,EventArgse){this.Width=600;this.Height=480;StatusLabel1.Text="600x480像素";}privatevoidtsBtn_small_Click(objectsender,EventArgse){this.Width=400;this.Height=360;StatusLabel1.Text="400x360像素";程序5的主要代码(附简要注释),主要控件(主要属性说明)publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}strings_FileName="";//定义的变量intFindPostion=0;//d第6个中增加的变量boolbSave=false;//编辑下各按钮的代码privatevoidmenuItemEditCut_Click(objectsender,EventArgse){richTextBox1.Cut();//剪切}privatevoidmenuItemEditCopy_Click(objectsender,EventArgse){richTextBox1.Copy();//拷贝}privatevoidmenuItemEditPaste_Click(objectsender,EventArgse){richTextBox1.Paste();//粘贴}privatevoidmenuItemEditUndo_Click(objectsender,EventArgse){richTextBox1.Undo();//撤销}privatevoidmenuItemEditRedo_Click(objectsender,EventArgse){richTextBox1.Redo();//恢复}//文件下各按钮的代码privatevoidmenuItemFileNew_Click(objectsender,EventArgse){if(!IfSaveOldFile())//如果返回false,本次操作取消return;richTextBox1.Text="";//或richTextBox1.Clear();s_FileName="";//新建文件没有文件名。}privatevoidmenuItemFileOpen_Click(objectsender,EventArgse){if(!IfSaveOldFile())//如果返回false,本次操作取消return;if(openFileDialog1.ShowDialog()==DialogResult.OK){s_FileName=openFileDialog1.FileName;richTextBox1.LoadFile(openFileDialog1.FileName,RichTextBoxStreamType.PlainText);}}privatevoidmenuItemFileSaveAs_Click(objectsender,EventArgse){if(saveFileDialog1.ShowDialog()==DialogResult.OK){s_FileName=saveFileDialog1.FileName;richTextBox1.SaveFile(saveFileDialog1.FileName,RichTextBoxStreamType.PlainText);bSave=false;}//注意存取文件类型应一致。}privatevoidmenuItemFileSave_Click(objectsender,EventArgse){if(s_FileName.Length!=0){bSave=false;richTextBox1.SaveFile(s_FileName,RichTextBoxStreamType.PlainText);}elsemenuItemFileSaveAs_Click(sender,e);//调用另存为菜单项事件处理函数}privatevoidmenuItemFileExit_Click(objectsender,EventArgse){Close();}//格式下字体的代码privatevoidmenuItemModelFont_Click(objectsender,EventArgse){if(fontDialog1.ShowDialog()==DialogResult.OK)richTextBox1.SelectionFont=fontDialog1.Font;}//帮助下关于……代码privatevoidmenuItemAbout_Click(objectsender,EventArgse){formAboutAboutDialog=newformAbout();AboutDialog.ShowDialog(this);//打开模式对话框//注意不能使用Show()函数,它打开非模式对话框}//编辑下查找替换的代码privatevoidmenuItemFindReplace_Click(objectsender,EventArgse){FindPostion=0;//下句中的this是Form1类对象引用formFindReplaceFindReplaceDialog=newformFindReplace(this);FindReplaceDialog.Show();//打开非模式对话框使用Show()方法}//定义FindRichTextBoxString方法:publicvoidFindRichTextBoxString(stringFindString)//查找方法{if(FindPostion>=richTextBox1.Text.Length)//如已查到文本底部,提示用户{MessageBox.Show("已到文本底部,再次查找将从文本开始处查找","提示",MessageBoxButtons.OK);FindPostion=0;//下次查找的开始位置return;}//用Find方法查找,返回找到的位置,返回-1,表示未找到,参数是要找的字符串//参数是查找的开始位置,参数是查找的一些选项,如大小写是否匹配,查找方向等FindPostion=richTextBox1.Find(FindString,FindPostion,RichTextBoxFinds.MatchCase);if(FindPostion==-1)//-1表示未找到匹配字符串,提示用户{MessageBox.Show("未找到匹配字符串,再次查找将从文本开始处查找","提示",MessageBoxButtons.OK);FindPostion=0;//下次查找的开始位置}else//找到匹配字符串{richTextBox1.Focus();//主窗体成为注视窗口FindPostion+=FindString.Length;}//下次查找的开始位置在此次找到字符串之后}//替换字符串的方法publicvoidReplaceRichTextBoxString(stringReplaceString)//替换方法{if(richTextBox1.SelectedText.Length!=0)//如果选定了被替换字符串richTextBox1.SelectedText=ReplaceString;//替换被选定的字符串}//首先在主窗体Form1类中增加一个函数,其功能是如果检查到当前文件已被修改,//用对话框询问用户是否保存当前文件,根据用户的选择作相应的处理,该函数返回true,表示继续操作,该函数返回false,//表示忽略此次操作。之所以要增加这个函数是因为有三处要用到此函数。该函数定义如下publicboolIfSaveOldFile(){boolReturnValue=true;if(bSave){System.Windows.Forms.DialogResultdr;dr=MessageBox.Show(this,"要保存当前更改吗?","保存更改吗?",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);switch(dr)//根据用户选择做相应处理{caseSystem.Windows.Forms.DialogResult.Yes://单击了yes按钮,保存修改bSave=false;//保存文件后,应使bSave为falseif(s_FileName.Length!=0)richTextBox1.SaveFile(s_FileName,RichTextBoxStreamType.PlainText);else{SaveFileDialogsaveFileDialog1=newSaveFileDialog();if(saveFileDialog1.ShowDialog()==DialogResult.OK){s_FileName=saveFileDialog1.FileName;richTextBox1.SaveFile(s_FileName,RichTextBoxStreamType.PlainText);}}ReturnValue=true;//返回true,通知调用本方法的程序,本次操作继续break;caseSystem.Windows.Forms.DialogResult.No://单击了no按钮,不保存bSave=false;ReturnValue=true;break;caseSystem.Windows.Forms.DialogResult.Cancel://单击了Cancel按钮ReturnValue=false;//返回false,通知调用本方法的程序,本次操作取消break;}}returnReturnValue;}//为RichTextBox控件TextChanged事件增加事件函数如下privatevoidrichTextBox1_TextChanged(objectsender,EventArgse){bSave=true;}//窗体Form1的FormClosing事件是在关闭窗口之前产生的事件,//此时,窗体中的控件还存在,还可以保存修改的内容,也可以不退出。增加Closing事件的事件处理函数如下:privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){if(!IfSaveOldFile())e.Cancel=true;}程序6的主要代码(附简要注释),主要控件(主要属性说明)程序7的主要代码(附简要注释),主要控件(主要属性说明)publicpartialclassForm1:Form{doublesum=0;boolblnClear=false;stringstrOper="+";publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论