上机指导书-软件工程- .docx

上传人:H****o 文档编号:25132107 上传时间:2022-07-10 格式:DOCX 页数:33 大小:1.59MB
返回 下载 相关 举报
上机指导书-软件工程- .docx_第1页
第1页 / 共33页
上机指导书-软件工程- .docx_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《上机指导书-软件工程- .docx》由会员分享,可在线阅读,更多相关《上机指导书-软件工程- .docx(33页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品名师归纳总结1 C#用户界面、菜单、工具栏1.1 目的明白 C#可视化界面设计。1.2 练习之一:建立第一个C# 对话框程序1、打开 Visual studio,新建一个项目。2、填写项目名称及存放路径:可编辑资料 - - - 欢迎下载精品名师归纳总结3、得到如下初步结果, 解决方案“exc1”下有一个工程“ exc1”,并有对话框 Form1。可在代码视图中查看对话框代码。4、该项目有一个“ program.cs”文件,该文件如下:namespaceexc1static class Program/ / 应用程序的主入口点。/ STAThreadstatic void MainAppli

2、cation .EnableVisualStyles;Application .SetCompatibleTextRenderingDefault false; Application .Run new Form1 ;这是程序的入口函数,以刚才所说的Form1 对话框为启动主界面。可以改动对话框Form1 的名称,我们也可以使用另外一个对话框作为启动主界面。程序运行如下,界面中仍没有任何东西:可编辑资料 - - - 欢迎下载精品名师归纳总结1.3练习之二:给对话框程序加菜单、按钮等1、先对我们的主对话框重命名,Form1 更名为 FrmMain ,如右下图所示。2、添加按钮,在左边按钮工具面板

3、上选中需要的按钮放到对话框中来。3、第一我们添加一个 MenuStrip 进来,如下所示。把 MenuStrip 空间改名为: menuMain ,我们可在 menuMain , 上连续添加菜单项。可编辑资料 - - - 欢迎下载精品名师归纳总结4、给 Menu 添加一个“文件”菜单子项,然后添加工具条ToolStrip ,并增加两个工具条按钮,成效如下:1.4 练习之三: 利用 SplitterContainer控件对主界面进行划分1、添加 splitContainer1 ,并把它的 orientation 属性设为 ”Horizontal ”,如下图所示。可编辑资料 - - - 欢迎下载精

4、品名师归纳总结2、在上图的 panel1 上再添加一个 SplitterContainer ,并把它的 orientation 属性设为 ”Vertical ”,如下图所示。如此我们可以轻松把主界面分为三个部分。大家可自行体会其运行成效。可编辑资料 - - - 欢迎下载精品名师归纳总结1.5 练习之四:对话框按钮消息响应函数添加 textBox1、textBox2、textBox3 和一个 Button 按钮。双击该 Button 为它添加消息处理函数如下:privatevoid button1_Clickobjectsender,EventArgs eDouble result =Doubl

5、e .ParsetextBox1.Text +Double .ParsetextBox2.Text; textBox3.Text = result.ToString;在 InitializeComponent()函数中,可以找到如下代码:this .button1.Click +=newSystem. EventHandler this .button1_Click;在看 Click 属性的定义,publiceventEventHandler Click;以及 EventHandler 的定义,publicdelegatevoidEventHandler objectsender,EventA

6、rgs e;我们可知,在 C#中使用了 delegate实现了消息处理。本练习实现了实数的加法运算。同学们可以为菜单按钮添加相应的消息处理函数,实现类似的功能。1.6 练习之五:使用 ListView控件1、在上图的 panel2 上添加一个 ListView 控件( listView1 ),并把 View 属性设置为 Details,把 Dock 属性设为 Fill , 并添加 Button2、Button3,用以对 ListView 显示进行掌握。其成效如下。可编辑资料 - - - 欢迎下载精品名师归纳总结添加button2 和button3 的消息响应函数如下:privatevoid b

7、utton2_Clickobjectsender,EventArgs eSystem.Windows.Forms.ColumnHeadercolumnHeader1; System.Windows.Forms.ColumnHeadercolumnHeader2; System.Windows.Forms.ColumnHeadercolumnHeader3; System.Windows.Forms.ColumnHeadercolumnHeader4;System.Windows.Forms.ListViewItemlistViewItem1 =newSystem.Windows.Forms.

8、ListViewItem new string 11222 ,1111 ,2222 ,33333 , -1;System.Windows.Forms.ListViewItemlistViewItem2 =newSystem.Windows.Forms. ListViewItem new string 212 ,111 ,222 , -1;columnHeader1 =newSystem.Windows.Forms. ColumnHeader;可编辑资料 - - - 欢迎下载精品名师归纳总结columnHeader2 =newSystem.Windows.Forms. ColumnHeader;

9、 columnHeader3 =newSystem.Windows.Forms. ColumnHeader; columnHeader4 =newSystem.Windows.Forms. ColumnHeader;columnHeader1.Text = 名称 ; columnHeader1.Width = 80;columnHeader2.Text = 高程 ; columnHeader2.Width = 100;columnHeader3.Text = 类型 ; columnHeader3.Width = 100;columnHeader4.Text = 治理单位 ; columnHea

10、der4.Width = 100;this .listView1.CheckBoxes =true ; this .listView1.Columns.AddRangenewSystem.Windows.Forms. ColumnHeader columnHeader1,columnHeader2, columnHeader3, columnHeader4;this .listView1.Items.AddRangenew System.Windows.Forms. ListViewItem listViewItem1, listViewItem2; listView1.Refresh;pri

11、vatevoid button3_Clickobjectsender,EventArgs elistView1.Items.Clear; listView1.Columns.Clear;运行成效如下:可编辑资料 - - - 欢迎下载精品名师归纳总结请同学们发挥自己的想象力,用ListView展现你需要展现的数据。1.7 练习之六:连接数据库并把数据结果展现于ListView对练习之五进行修改,即复制exc2 文件夹 exc3 并把里面的 exc2 改为 exc3,以作区分。找到两张 16*16 的图片,用来作为工具条按钮图片,放在exc3 文件夹下的 img文件夹。下图是为工具条上的按钮设置图

12、片。步骤如下:选中要设置的工具条按钮。选中其 image 属性。在弹出的对话框中定位到相应图片,挑选。这里我们挑选5.gif 文件。可编辑资料 - - - 欢迎下载精品名师归纳总结双击第一个工具条按钮, vs2005 自动为它加入如下消息处理函数:privatevoid toolStripButton1_Clickobjectsender,EventArgs e要拜访数据库,我们必需在 exc3 工程的引用中加入 System.Data库,如下图所示,选中 System.Data后确定。可编辑资料 - - - 欢迎下载精品名师归纳总结之后在 FrmMain.cs 文件加入using Syste

13、m.Data;using System.Data.OleDb;随后把按钮消息响应函数改动如下:privatevoid toolStripButton1_Clickobjectsender,EventArgs e/添加列表头this .listView1.Items.Clear; this .listView1.Columns.Clear;System.Windows.Forms.ColumnHeader columnHeader1 =new System.Windows.Forms. ColumnHeader;System.Windows.Forms.ColumnHeader columnHe

14、ader2 =new System.Windows.Forms. ColumnHeader;System.Windows.Forms.ColumnHeader columnHeader3 =new System.Windows.Forms. ColumnHeader;columnHeader1.Text =OBJECTID; columnHeader1.Width = 80;columnHeader2.Text = 行政区代码 ; columnHeader2.Width = 100; columnHeader3.Text = 行政区名称 ; columnHeader3.Width = 100;

15、this .listView1.Columns.AddRangenewSystem.Windows.Forms.ColumnHeader 可编辑资料 - - - 欢迎下载精品名师归纳总结columnHeader1, columnHeader2, columnHeader3;/ 连接导数据库stringdatabase =Application.StartupPath +.excdatatestdata.mdb; stringstrConn =Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+ database +;Persist Security In

16、fo=False;Jet OLEDB:Database Locking Mode = 1;OleDbConnection cnn =new OleDbConnection ; cnn.ConnectionString = strConn;cnn.Open;stringsql =select OBJECTID,XZQDM,XZQM from DJ_POLYGON_JD;OleDbCommandcmd =new OleDbCommand;/OleDbDataAdapter adapter =new OleDbDataAdapter ; cmd.Connection = cnn;cmd.Comman

17、dText = sql;OleDbDataReader reader = cmd.ExecuteReader;while reader.Readstringobjectid = reader.GetValue0.ToString; stringXZQDM= reader.GetValue1.ToString; stringXZQM= reader.GetValue2.ToString;System.Windows.Forms.ListViewItemlistViewItem =new System.Windows.Forms. ListViewItem new stringobjectid,X

18、ZQDM,XZQM ;listView1.Items.AddlistViewItem;cnn.Close;点击 ,程序运行成效如下:可编辑资料 - - - 欢迎下载精品名师归纳总结同学们可以查阅相关资料,自己考虑实现数据删除、更新等操作。2 GDI+绘图2.1 目的明白基于 C#的 GDI Plus 编程。2.2 练习之一:建立第一个GDI Plus程序1、依据第一章的练习 1,建立一个 C#对话框程序。2、添加一个按钮,并为之消息响应函数如下:privatevoid button1_Clickobjectsender,EventArgs eFont fnt =new Font Tahoma

19、, 20,FontStyle.Bold |FontStyle.Italic;/ 创建字体Graphics g =this .CreateGraphics;/ 创建Graphics 对象g.DrawStringGDI+ 编程世界 , fnt,new SolidBrush Color .Blue, 14, 10;/ 输出文字点击按钮就可以见到成效如下:可编辑资料 - - - 欢迎下载精品名师归纳总结2.3 练习之二:使用线性坡度画刷1, 对上个例子的代码,在对话框类代码文件中添加如下:using System.Drawing.Drawing2D;2、把 button1 的消息响应函数修改如下:pr

20、ivatevoid button1_Clickobjectsender,EventArgs eGraphics g= this .CreateGraphics;/ 生成图形对象LinearGradientBrushMyBrush = new LinearGradientBrushnew Point 0,20, new Point 20,0,Color .Yellow ,Color .Blue;/ 生成渐变画刷g.FillRectangleMyBrush,0,0,200,100;/ 填充矩形2.4 练习之三:绘制直线把上例代码改成如下:privatevoid button1_Clickobjec

21、t sender,EventArgs eGraphics g= this .CreateGraphics;/ 生成图形对象Pen Mypen = new Pen Color .Blue, 5;/ 生成画笔 , 蓝色, 5个像素g.DrawLineMypen, 1, 1, 30, 30;/ 画线Point pt1 =new Point 1, 30;/ 生成起点可编辑资料 - - - 欢迎下载精品名师归纳总结Point pt2 =new Point 30, 1;/ 生成终点g.DrawLineMypen, pt1, pt2;/ 画线2.5 练习之四:绘制椭圆privatevoid button1_

22、Clickobjectsender,EventArgs eGraphics g =this .CreateGraphics;/ 生成图形对象Pen Mypen = new Pen Color .Blue, 5;/ 生成画笔 , 蓝色, 5个像素g.DrawEllipseMypen, 1, 1, 80, 40;/ 画椭圆Rectangle rect =new Rectangle 85, 1, 165, 40;/ 生成矩形g.DrawEllipseMypen, rect;/ 画椭圆2.6 练习之五:绘制曲线privatevoid button1_Clickobjectsender,EventArg

23、s eGraphics g =this .CreateGraphics;/ 生成图形对象Pen Mypen = new Pen Color .Blue, 5;/ 生成画笔 , 蓝色, 5个像素g.DrawArcMypen, 1, 1, 80, 40, 90, 270;/Rectangle rect =new Rectangle 85, 1, 165, 40;/ 生成起点g.DrawArcMypen, rect, 0, 90;/ 画弧线可编辑资料 - - - 欢迎下载精品名师归纳总结2.7 练习之六:绘制扇形privatevoid button1_Clickobjectsender,EventA

24、rgs eGraphics g =this .CreateGraphics;/ 生成图形对象Pen Mypen = new Pen Color .Blue, 5;/ 生成画笔 , 蓝色, 5个像素g.DrawPieMypen, 1, 1, 80, 40, 90, 270;/ 画扇形Rectangle rect =new Rectangle 85, 1, 165, 40;/ 生成矩形g.DrawPieMypen, rect, 0, 90;/ 画扇形2.8 练习之七:使用 GDI Plus请看如下程序运行成效,本练习要求学会使用GDI+ 函数绘制矩形和椭圆:依据练习一新建一个对话框应用程序。为该对

25、话框类添加如下成员:可编辑资料 - - - 欢迎下载精品名师归纳总结privatePoint rectangleTopLeft =new Point 0, 0; privateSize rectangleSize =new Size 200,200; privatePoint ellipseTopLeft =new Point 50, 200; privateSize ellipseSize =new Size 200, 150; privatePen bluePen =new Pen Color .Blue, 3; privatePen redPen =new Pen Color .Red,

26、 2;protectedoverridevoid OnPaintPaintEventArgse base.OnPainte;Graphics dc = e.Graphics;Size scrollOffset =new Size this .AutoScrollPosition; ife.ClipRectangle.Top+scrollOffset.Width 350 |e.ClipRectangle.Left+scrollOffset.Height “类”。弹出对话框如下,我们挑选“Base Too”l ,开头创建我们的第一个工具。可编辑资料 - - - 欢迎下载精品名师归纳总结把工具类的名

27、称改为: TrackRectanglePanToolClas,s 当然你可以改为一个更为悦耳的名字,然后挑选“添加” 。我们作如上图所示的挑选, 这个工具将可以对MapControl和 PageLayoutControl控件有效。然后挑选“ OK”。 VS2005 为我们添加了这个类,并把一些用到的类库引用进来,参看右边的“引用”。可编辑资料 - - - 欢迎下载精品名师归纳总结在此文件的开头部分添加:using ESRI.ArcGIS.Carto;如下图所示, 添加 ESRI.ArcGIS.Geometry 、ESRI.ArcGIS.Display两个类库, 由于我们后面的代码用到它们。把T

28、rackRectanglePanToolClass类的构造函数做适当修改,留意如下几句代码:base.m_category = 自定义工具 ;/localizable text base.m_caption =TrackExtent;/localizable textbase.m_name = TrackExtent;/unique id, non-localizable可编辑资料 - - - 欢迎下载精品名师归纳总结其作用是为我们的工具定义类别和名称。接下来为类 TrackRectanglePanToolClass添加数据成员:privateIMapControl2m_pMapControl

29、;用来拜访从界面程序中传入的MapControl 控件,是一个接口。publicoverridevoid OnCreate objecthookifm_hookHelper =null IToolbarControl2control = hookasIToolbarControl2;m_pMapControl = control.Buddyas IMapControl2 ;m_hookHelper =new HookHelperClass ; m_hookHelper.Hook = hook;/ TODO: Add TrackRectanglePanToolClass.OnCreate imp

30、lementation在 OnCreate函数中我们添加如红底所示的代码,把主程序中的MapControl 控件传了进来。在 OnMouseDown 函数中添加如下代码。publicoverridevoid OnMouseDownintButton,intShift,intX,intY/ TODO: Add TrackRectanglePanToolClass.OnMouseDown implementation m_pMapControl.MousePointer =esriControlsMousePointer.esriPointerCrosshair; m_pMapControl.Extent = m_pMapControl.Trac

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术总结

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com