資源簡介
c#編程環境下的測量程序,windows窗口化的。只是自己上課的一個作業。
創建了一個地面點的類,該類可以實現諸如坐標正反算、方位角計算的功能。
主要的是把這種方法放在了窗口當中。用了textbox,richtextbox,個人感覺比較有收獲的就是提取出來textbox中的數字值,和弧度化角度
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?System.Text.Regularexpressions;
namespace?shiyan
{
????public?partial?class?Form1?:?Form//這是一個窗口總類,派生于Form類
????{
????????static?GCPoint?p1p2p3;//全局參數由刷新按鈕賦值
????????static?string?E?=?““;//確保第一個鍵首先被單擊而引入的參數
????????public?Form1()//構造窗口,可以在里面初始化全局變量
????????{
????????????InitializeComponent();????????????
????????????MessageBox.Show(“如果有任何textbox上的改變,請先點擊刷新!“);
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)//窗口初始化
????????//lode窗口的時候給textbox一個初始值
????????{
????????????this.FirstX.Text?=?“1“;
????????????this.FirstY.Text?=?“1“;
????????????this.SecX.Text?=?“2“;
????????????this.SecY.Text?=?“2“;
????????????this.ThrX.Text?=?“5“;
????????????this.ThrY.Text?=?“6“;
????????}
????????private?void?update_Click(object?sender?EventArgs?e)//刷新
????????{
????????????E?=?e.ToString();
????????????p1?=?new?GCPoint((Convert.ToDouble(this.FirstX.Text))?Convert.ToDouble(this.FirstY.Text)?“第一點“);
????????????p2?=?new?GCPoint(Convert.ToDouble(this.SecX.Text)?Convert.ToDouble(this.SecY.Text)?“第二點“);
????????????p3?=?new?GCPoint(Convert.ToDouble(this.ThrX.Text)?Convert.ToDouble(this.ThrY.Text)?“第三點“);
????????}??????????????
????????
????????private?void?distance_Click(object?sender?EventArgs?e)//求距離
????????{
????????????if?(E?!=?““)//判斷是否刷新鍵被第一次點擊
????????????{
????????????????this.richTextBox1.Text?=?““;//置空
????????????????GCPoint?r?=?new?GCPoint();//局部變量,為了調用其中的方法
????????????????double?dis;//距離???????????????
????????????????string?m?=?“距離?“;
????????????????//計算兩點之間距離
????????????????dis?=?r.distance(p1?p2);
????????????????this.richTextBox1.AppendText(m?+?p1.PointName?+?“?和?“?+?p2.PointName);//將字符串追加到文本控件的內容。
????????????????this.richTextBox1.Text?+=?“\n“;//換行
????????????????this.richTextBox1.AppendText(Convert.ToString(dis));
????????????????dis?=?r.distance(p1?p3);
????????????????this.richTextBox1.AppendText(“\n“?+?m?+?p1.PointName?+?“?和?“?+?p3.PointName?+?“\n“);
????????????????this.richTextBox1.Text?+=?Convert.ToString(dis);
????????????????dis?=?r.distance(p2?p3);
????????????????this.richTextBox1.AppendText(“\n“?+?m?+?p2.PointName?+?“?和?“?+?p3.PointName?+?“\n“);
????????????????this.richTextBox1.Text?+=?Convert.ToString(dis);
????????????}
????????????else
????????????{
????????????????MessageBox.Show(“請先點擊‘刷新’鍵“);
????????????}
????????}???????
????????private?void?angle_Click(object?sender?EventArgs?e)//計算坐標方位角
????????{
????????????if?(E?!=?““)//判斷是否刷新鍵被第一次點擊
????????????{
????????????????this.richTextBox1.Text?=?““;//置空
????????????????GCPoint?r?=?new?GCPoint();//局部變量
????????????????double?a;
????????????????string?m?=?“坐標方位角?“;????????????????
????????????????a?=?r.alpha(p1?p2);
????????????????this.richTextBox1.AppendText(m?+?p1.PointName?+?“?和?“
評論
共有 條評論