欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    测量程序设计(11页).doc

    • 资源ID:40327556       资源大小:290KB        全文页数:11页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    测量程序设计(11页).doc

    -测量程序设计-第 11 页测量程序设计实习报告姓名: 班级: 学号: 教师评语:日期:二零一五年十月 实验名称:使用C#开发环境建立测量程序框架一、实验的目的与任务:(1) 学会用C#窗体程序开发环境建立应用程序框架方法(2) 学会使用常见的Windows控件(3) 根据自身需要设计一个测量程序界面二、实验的过程与步骤:启动程序,选择C#开发设置新建项目以学号命名进入集成开发环境:要求掌握利用C#程序开发平台掌握windows窗体开发程序的步骤。所有控件均有name属性,利用name属性可调用控件。掌握以下控件的使用方法:按钮控件按钮(Button)是用户以交互方式控制程序运行的控件之一主要属性:(1)Text属性设置显示在按钮表面上的文字,用于说明该按钮的作用。如果Text属性值为“开始(&S)”,程序运行时当用户按下组合键Alt+S的时候,相当于鼠标单击这个按钮。(2)Enabled属性设置按钮是否可用;程序运行期间Enabled属性值为False时,按钮表面将显示成暗淡字体的样式 ,这时按钮暂时不起作用(这样做的目的通常是为了防止误操作)(3)Visible属性设置按钮的可见性,Visible属性值为True时,按钮是可见的;Visible属性值为False时,按钮不可见。文本控件标签(Label)、文本框(TextBox)和富文本框(RichTextBox)1.Label Label控件主要用于通过其Text属性显示文本信息 程序设计时一般只使用其属性,常用属性如下:属性意义默认值Text标签中显示的文本内容控件名称Font显示文本的字体、字号和字形父控件的Font属性BackColor背景颜色Transparent(透明)ForeColor前景颜色,即显示文本的颜色ControlText(控件颜色)BorderStyle边框样式None(无边框)Image标签的背景图片无AutoSize根据文字的内容多少和字号大小自动调整自身的尺寸TrueEnabled控件是否可用TrueVisible控件是否可见True例:创建如下图所示窗体程序,程序运行时显示简单的文本信息。private void button1_Click(object sender, EventArgs e) label1.BackColor = Color.Transparent; label1.ForeColor = Color.Tomato; label1.Text = "欢迎进入C#Windows窗体程序设计广阔天地!"2.TextBox控件程序运行期间,通过它的Text属性既可显示文本信息,又可以让用户通过键盘、鼠标等在文本框中直接输入并修改文字信息,还可以在文本框中使用剪切、复制、粘贴等操作。属性意义Text输入到文本框中的字符PasswordChar用来替换在单行文本框中输入文本的密码字符(仅在Multiline为False时有效)Multiline若为True,则允许用户输入多行文本信息ScrollBars当Multiline属性为True时,指定文本框是否显示滚动条WordWrap当Multiline属性为True,并且一行的宽度超过文本框宽度时,是否允许自动换行MaxLength允许输入到文本框中的最大字符数,默认值为32767SelectedText文本框中被选择的文本(程序运行时设置)SelectionLength被选中文本的字符数(程序运行时设置)SelectionStart文本框中被选中文本的开始位置(程序运行时设置)ReadOnly设置文本框是否为只读,默认值为FalseCharacterCasing是否自动改变输入字母的大小写,默认值为Normal,其余选项有Lower和UpperCausesValidation若设置为True(默认值),控件获得焦点时,将会触发Validating和Validated事件事件意义Enter成为活动控件时发生GetFocus控件获得焦点时发生(在Enter事件之后发生)Leave从活动控件变化不活动控件时发生Validating在控件验证时发生Validated在成功验证控件后发生LostFocus控件失去焦点后发生(在Leave事件之后发生)KeyDown文本框获得焦点,并且有键按下时发生KeyPress文本框获得焦点,并且有键按下然后释放时发生(在KeyDown事件之后发生)KeyUp文本框获得焦点,并且有键按下然后释放时发生(在KeyPress事件之后发生)TextChanged文本框内的文本信息发生改变时发生方法意义AppendText()在文本框当前文本的末尾追加新的文本Clear()清除文本框中的全部文本Copy()将文本框中被选中的文本复制到剪贴板Cut()将文本框中被选中的文本移动到剪贴板Paste()将剪贴板中的文字内容复制到文本框中从当前位置开始的地方,但不清除剪贴板Focus()将文本框设置为获得焦点Select()在文本框中选择指定起点和长度的文本SelectAll()在文本框中选择所有的文本DeselectAll()取消对文本框中所有文本的选择(1)Multiline属性和WordWrap属性 Multiline属性为False,文本框的高度无法改变,只能输入单行文本。 Multiline属性为True,文本框内可以输入多行文本,当文本长度超过文本框宽度并且WordWrap属性为True时,可以自动换行。按Enter键可以强制换行。(演示)(2)ScrollBars属性(演示)决定文本框是否带有滚动条,有4个选项:None没有滚动条Horizontal只有水平滚动条Vertical只有垂直滚动条Both同时拥有水平滚动条和垂直滚动条(3)SelectionLength、SelectionStart、SelectedText属性这三个属性只能程序运行期间设置,用来标识用户在文本框内选中的文字,程序运行期间,用户可以通过在文本框内的鼠标、键盘操作,设置这三个属性的值,也可以通过赋值语句为它们赋值。设置了SelectionStart和SelectionLength属性之后,被选中的文字就会自动地保存到SelectedText属性中。(演示)(4)PassWordChar属性当文本框用来接收输入的密码时,为了避免旁观者在界面上看到密码原文,可以用PassWordChar属性来设置替代显示字符,PasswordChar属性仅当MultiLine属性为False时才有效。 (演示)(5)TextChanged事件 用户向文本框输入新的内容,或程序对文本框的Text属性赋值,从而改变Text属性原值时,将触发TextChanged事件。用户每输入一个字符,就会触发一次TextChanged事件。(6)KeyPress、KeyDown、KeyUp事件当文本框获得焦点时,用户按下并释放键盘上的某个字符键,就会触发KeyPress事件,并返回一个参数KeyPressEventArgs e到该事件过程中,e.KeyChar属性即该键所代表的Unicode码。KeyDown和KeyUp事件返回到事件过程的参数是KeyEventArgs e,其中e.KeyValue属性代表的是键位置码。键盘上的每个键都有自己的键位置码,包括那些不会产生Unicode码的键(如Shift、Alt、Ctrl等)。(7)焦点事件一个窗体上可以载有多个控件,但任何时刻最多只允许一个控件能够接受用户的交互操作。这个能接受交互操作的控件称为“拥有焦点”。鼠标单击窗体上的某个控件,可以使它获得焦点;利用键盘上的Tab键,可以使焦点在不同对象之间按TabIndex属性指定的顺序依次转移(如果某个对象的TabStop属性设置为False,利用Tab键转移焦点时将跳过该对象)。当文本框获得焦点时,将触发Enter事件;失去焦点时,将依次触发Leave事件、Validating事件、Validated事件和(文本框的操作中可以利用这些事件过程来对数据更新进行验证和确认)。(演示)(8)Copy()、Cut()、Paste()方法 复制、剪切、粘贴是文本编辑中最常用到的方法。Copy()方法:把文本框中被选择的文本复制到剪贴板;Cut()方法:把文本框中被选择的文本移动到剪贴板,文本框中原先被选择的文本被删除;Paste()方法:将剪贴板中的文字粘贴到文本框中;例:创建如下图所示的Windows窗体程序,程序运行在文本框txtSour中输入若干文字信息,然后用鼠标选择其中的一段文字,选择之后,单击“复制”按钮将被选中的文字复制到txtTarg中。代码如下: private void button1_Click(object sender, EventArgs e)textBox1.Copy();textBox2.Paste();选择控件和分组控件1单选按钮(RadioButton)(1)Checked属性表示单选按钮是否已被选中;选中时Checked属性值为true;未选中时Checked属性值为False。当一个单选按钮被选中时,同一组内的其它单选按钮均为未选中状态。(2)Appearance属性用来指定单选按钮的外观。值为Normal时外观为圆形 ;值为Button时外观显示成按钮的形状,被选中时显示为按下状态,未选中时为弹起状态。(3)CheckedChanged事件用户在一组单选按钮中改变原先选中对象时,触发该事件;(4)Click事件每次单击单选按钮时,都会触发Click事件。如果连续多次单击同一个单选按钮,最多只能改变Checked属性一次。2复选框(CheckBox)(1)CheckState属性复选框有3种状态: (选中)CheckState属性值为Checked(未选中)CheckState属性值为Unchecked(无效)CheckState属性值为Indeterminate一组逻辑功能相关的复选框中,允许任意数量的复选框被选中,甚至全部选中,或者全部不选。一个复选框被选中与否,对同一组内的其它复选框状态没有任何影响。(2)ThreeState属性ThreeState属性值为true时,允许复选框的CheckState属性有上述3种状态;当属性置为false时,CheckState属性就只能有Checked(选中)和Unchecked(未选中)两种状态。(3)CheckedChanged事件 当复选框的Checked属性改变时,就会触发该事件。但当ThreeState属性值为true时,单击复选框不会改变Checked属性。3群组框控件(GroupBox)的“容器”作用窗体上绘制一个GroupBox控件,然后在它的边框线以内绘制单选按钮或其它控件,就把它们装入了同一个容器。窗体上的空白位置创建控件,然后把它拖放到GroupBox的边框线内,也可以将其装入同一个容器。设计阶段判断一个控件是否装入GroupBox的最简单方法,就是在窗体上拖动GroupBox。如果线框内的控件跟随移动,则说明它确实装入了GroupBox。装入同一个GroupBox的单选按钮,就构成了一个逻辑上独立的组,单击其中的任意一个单选按钮,使其处于选中状态,组内的其它对象均处于未选中状态,对它们的操作不会影响到当前GroupBox以外的单选按钮。列表选择控件列表选择控件用来实现较多个选项的交互式选择操作。列表框(ListBox)、复选列表框(CheckedListBox)、组合框(ComboBox)1列表框(ListBox)列表框以列表形式显示多个数据项,供用户选择。用户只能从列表中选择已有的数据项,而不能直接修改其中的内容。如果列表中的数据项较多,超过设计时给定的长度,不能一次全部显示,就会自动添加滚动条。属性意义Items列表框中所有选项的集合,利用这个集合可以增加或删除选项SelectedIndex列表框中被选中项的索引(从0起算)。当多项被选中时,表示第一个被选中的项SelectedIndices列表框中所有被选中项的索引(从0起算)集合SelectedItem列表框中当前被选中的选项。当多个选项被选中时,表示第一个被选中的项SelectedItems列表框中所有被选中项的集合SelectionMode列表框的选择模式(None、One、MultiSimple、MultiExtended)Text写入时,搜索并定位在与之匹配的选项位置;读出时,返回第一个被选中的项MultiColumn是否允许列表框以多列的形式显示(true表示允许多列)ColumnWidth在列表框允许多列显示的情况下,指定列的宽度Sorted若为true,则将列表框的所有选项按字母顺序排序;否则按加入的顺序排列事件和方法意义SelectedIndexChanged事件被选中项的索引值改变时发生ClearSelected()方法清除列表框中所有被选中的选项,无返回值FindString()方法查找列表框中第一个以指定字符开头的选项,返回该选项的索引(从0起算)GetSelected()方法若列表框中指定索引值的选项被选中,则返回true值,否则返回falseSetSelected()方法设置或取消对列表框中指定索引处的选项的选择,无返回值(1)Items属性Items属性是一个string类型的数组,数组中的每一个元素对应着列表框中的一个选项,用下标(索引)值来区分不同的元素。下标编号从0开始,最后一个元素的下标为Items.Count-1。Items属性即可以在通过属性窗口再设计阶段设置,也可以在运行过程中调用Add、Remove、Insert方法修改;(2)SelectedIndices属性该属性是一个int类型的数组,数组中每一个元素对应列表框中被选中的一个项的下标(索引)值,只能程序运行期间设置或引用,设计阶段无效。(3)SelectionMode属性该属性用于设置列表框选项的选择模式:None禁止选择列表框中的任何选项One一次只能在列表框中选择一个选项,默认值MultiSimple简单多项选择。MultiExtended扩展多项选择。按住Ctrl键,鼠标单击可以选定多个选项,再次单击则取消选择;按住Shift键,鼠标单击可选择一个连续区间内的多个选项。(4)GetSelected()方法 该方法用于测试列表框中一个特定选项是否被用户选中,括号内的参数是选项的索引值。当listBox1中某项被选中,GetSelected方法测试可以得到true值;当listBox1中指定项未选中, GetSelected()方法测试得到false值。(5)SetSelected()方法 该方法用于在程序运行期间设置或取消对列表框中特定选项的选择,括号内的参数是选项的索引值。listBox1.SetSelected(n, true)可以选中列表框中的第n个选项;listBox1. SetSelected(n, false) 取消对列表框第n个选项的选择;2复选列表框(CheckedListBox)CheckedListBox兼具列表框与复选框的功能,它提供一个项目列表,列表中的每一项都是一个复选框。当窗体上需要的复选框较多,或者需要在程序运行时动态地决定有哪些选项时,使用CheckedListBox比较方便名称意义CheckOnClick属性若为true,第一次单击复选列表框中的选项时即改变其状态CheckedItems属性复选列表框中所有被选中项的集合CheckedIndices属性复选列表框中所有被选中项的索引(从0起算)的集合SetItemChecked方法设置或取消对复选列表框中指定索引处的选项的选中状态,无返回值SetSelected方法设置或取消对复选列表框中指定索引处的选项的选择,不改变复选框状态3组合框(ComboBox)组合框提供一个显示多个选项的列表,供用户以交互方式选择。在未选择状态,组合框的可见部分只有文本编辑框和按钮。当用户单击文本编辑框右端的箭头按钮 时,列表展开,用户可以在其中进行选择。当用户完成选择后,列表就会自动收折起来。组合框不允许在列表中选择多个选项,但可以在它的文本编辑框内输入新的选项。(1)DropDownStyle属性该属性用来设置组合框的样式,:DropDown 单击 展开列表,用户可以在控件的文本编辑框输入文字DropDownList 单击展开列表,用户不能在控件的文本编辑框输入文字Simple 列表框的高度可以在设计阶段由程序员指定,与文本编辑框一起显示在窗体上,但不能收起或拉下。(2)向控件的列表中添加选项的方法Items.Add( obj item );/新添加的选项追加在列表的末尾Items.AddRange( object items ); /新添加的选项数组追加在列表末尾Items.Insert( int index, obj item );/按index指定的索引位置插入新的选项(3)从控件的列表中移除选项的方法Items.Remove( obj item ); /将列表中指定的选项移除Items.RemoveAt( int index );/将列表中指定索引的项移除三、程序运行效果该窗口是一个简易的附合导线平差功能实现的窗口界面,界面中“未知点数”为所要求的未知点坐标的个数,“已知点输入”为附合导线平差时的已知坐标即定向坐标,“添加已知点”按钮其作用是点击添加上面输入的已知点数据到表格控件中,“开始计算”按钮其作用是点击开始进行计算。界面内容如下图所示:四、本实验心得体会实验名称:导线计算程序设计及粗差探测一、实验的目的与任务:(1) 掌握方位角计算的程序设计方法(2) 掌握符合导线、闭合导线、支导线计算的程序设计方法(3) 理解粗差探测的程序设计方法二、实验的设计与开发步骤:导线测量是控制测量中常用的方法之一,符合导线是导线布设的一种形式。在导线外业测量完成后,需要进行近似平差,以求得每个导线点的坐标值。导线平差计算数据多,程序繁琐,采用手工计算不仅工作量大,且很容易出错, Visual C#是目前进行windows程序开发广泛应用的工具之一,它功能强大,并且具有可视性和面向对象程序设计的优点,利用Visual C#开发导线平差应用程序,界面友好,用户使用方便。1.符合导线平差步骤(1)计算角度闭合差,判断误差是否超限,若在允许范围则进行调整(包括计算角度改正数、改正数分配和改正后的角度);(2)计算导线边方位角;(3)计算坐标增量;(4)计算导线全长闭合差,判断闭合差是否超限,若在允许范围内则进行调整(包括计算坐标增量改正值,改正数分配和改正后的坐标增量);(5)计算导线点坐标。2.导线平差计算公式角度闭合差:方位角的推算:坐标增量:坐标闭合差:各边的坐标增量改正数:导线的精度:3.程序界面的设计根据平差过程中使用到的已知数据和平差的输出数据,设计相应的程序界面,界面的能满足数据的输入、输入数据的显示、计算数据的显示等要求,根据上述要求设计界面如下:界面包括一个9个输入框、12个标签、2个命令按钮、1个表格控件。界面中各输入框、按钮功能:“未知点数”:用来输入待求坐标的个数。“已知点输入”:用来输入已知点数据。“添加已知点”按钮:用来将已知点数据加入到右边表格中。“开始计算”按钮:点击开始进行平差计算。三、程序运行及数据测试效果测试数据已知点坐标:A(1318.8830,1009.9262)B(920.7200,1306.9706)C(967.7081,3420.9362) D(1385.6557,3715.5052)从图中提取的坐标:1.(1024.5886,1883.7317)2.(908.3546,2425.8376)3.(1234.7989,29333.2884)计算结果如图所示:四、本实验心得体会实验名称:测量数据库的建立一、实验的目的与任务:(1) 掌握利用Access或SQLserver建立测量数据库的基本方法(2) 掌握利用C#编程连接数据库,并进行数据操作的方法二、实验的设计与开发步骤:1.设计数据库管理程序界面并实现添加、查询、修改、删除等功能(1)创建窗体项目打开“新建项目”对话框,选左边“已安装模板”栏的“其他语言Visual C#”项,再选右边“模板”栏的“Windows应用程序”模板。选择磁盘卷和父目录位置后,输入项目名称“测量程序数据库”按“确定”按钮关闭对话框。(2)修改窗口属性修改窗口的Text属性,将窗口的Text属性值改为“观测数据管理”(3)添加控件,修改控件相应属性往窗口中添加相应控件,并修改控件相应属性,在此窗体应用程序中用到的控件有Label控件、命名按钮、文本框和表格控件。设计界面如下:功能要求:点击“添加/修改”将数据写入CLDATA数据库,GCZ表中功能要求:实现通过测站点,前视点,或后视点查询观测值2.建立数据库,并向数据库添加数据本次实验使用office办公套件Access2007建立数据库,并利用ADO数据库模型建立与数据库的连接,实现对数据库的操作。启动Access2007新建数据库,命名为“CLDATA”,在数据库中新建表,表名称为“GCZ”,字段有“CZ”(测站),“QS”(前视),“HS”(后视),“SPJ”(水平角),“SZJ”(竖直角),“HD”(平距),“SD”(斜距),“REM”(备注)。建立的数据库和数据表如下图所示:3.添加代码在窗体中添加代码,实现上述功能。三、程序运行及数据测试效果测试数据已知点坐标:A(1318.8830,1009.9262)B(920.7200,1306.9706)C(967.7081,3420.9362) D(1385.6557,3715.5052)从图中提取的坐标:1.(1024.5886,1883.7317)2.(908.3546,2425.8376)3.(1234.7989,29333.2884)计算结果如图所示:四、本实验心得体会

    注意事项

    本文(测量程序设计(11页).doc)为本站会员(1595****071)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档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  

    收起
    展开