123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Windows.Forms.DataVisualization.Charting;
- using Extender;
- namespace OxfordTest
- {
- public partial class Form1 : Form
- {
- //全局只有一个fatorySEM
- static ExtenderInterface factoryExtender = ExtenderInterface.Instance;
- IExtenderControl iExtender = factoryExtender.IExtender;
- public Form1()
- {
- InitializeComponent();
- }
- //获取电压
- private void button1_Click(object sender, EventArgs e)
- {
- tBHV.Text = iExtender.GetSEMVoltage().ToString();
- }
- //输入限制只能是数字
- private void textBox_KeyPress(string text, object sender, KeyPressEventArgs e)
- {
- //允许输入数字、小数点、删除键和负号
- if ((e.KeyChar < 48 || e.KeyChar > 57) && e.KeyChar != 8 && e.KeyChar != (char)('.') && e.KeyChar != (char)('-'))
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- if (e.KeyChar == (char)('-'))
- {
- if (text != "")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- }
- //小数点只能输入一次
- if (e.KeyChar == (char)('.') && ((TextBox)sender).Text.IndexOf('.') != -1)
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位不能为小数点
- if (e.KeyChar == (char)('.') && ((TextBox)sender).Text == "")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位是0,第二位必须为小数点
- if (e.KeyChar != (char)('.') && ((TextBox)sender).Text == "0")
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- //第一位是负号,第二位不能为小数点
- if (((TextBox)sender).Text == "-" && e.KeyChar == (char)('.'))
- {
- MessageBox.Show("请输入正确的数字");
- text = "";
- e.Handled = true;
- }
- }
- //设定电压
- private void button2_Click(object sender, EventArgs e)
- {
- iExtender.SetSEMVoltage(float.Parse(tBHVIn.Text));
- }
- //电压输入限制
- private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBHVIn.Text, sender, e);
- }
- //获取工作距离
- private void button3_Click(object sender, EventArgs e)
- {
- tBWD.Text = iExtender.GetWorkingDistance().ToString();
- }
- //获取放大倍数
- private void button4_Click(object sender, EventArgs e)
- {
- tBMag.Text = iExtender.GetMagnification().ToString();
- }
- //获取亮度
- private void button5_Click(object sender, EventArgs e)
- {
- tBBright.Text = iExtender.GetBrightness().ToString();
- }
- //获取对比度
- private void button6_Click(object sender, EventArgs e)
- {
- tBContast.Text = iExtender.GetContrast().ToString();
- }
- //设定工作距离
- private void button7_Click(object sender, EventArgs e)
- {
- iExtender.SetWorkingDistance(float.Parse(tBWDIn.Text));
- }
- //设定放大倍数
- private void button8_Click(object sender, EventArgs e)
- {
- iExtender.SetMagnification(float.Parse(tBMagIn.Text));
- }
- //设定亮度
- private void button9_Click(object sender, EventArgs e)
- {
- iExtender.SetBrightness(float.Parse(tBrightIn.Text));
- }
- //设定对比度
- private void button10_Click(object sender, EventArgs e)
- {
- iExtender.SetContrast(float.Parse(tBContrastIn.Text));
- }
- private void tBWDIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBWDIn.Text, sender, e);
- }
- private void tBMagIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBMagIn.Text, sender, e);
- }
- private void tBrightIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBrightIn.Text, sender, e);
- }
- private void tBContrastIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBContrastIn.Text, sender, e);
- }
- //获取X
- private void button11_Click(object sender, EventArgs e)
- {
- tBX.Text = iExtender.GetStageAtX().ToString();
- }
- //获取Y
- private void button12_Click(object sender, EventArgs e)
- {
- tBY.Text = iExtender.GetStageAtY().ToString();
- }
- //获取Z
- private void button13_Click(object sender, EventArgs e)
- {
- tBZ.Text = iExtender.GetStageAtZ().ToString();
- }
- //获取T
- private void button14_Click(object sender, EventArgs e)
- {
- tBT.Text = iExtender.GetStageAtT().ToString();
- }
- //获取R
- private void button15_Click(object sender, EventArgs e)
- {
- tBR.Text = iExtender.GetStageAtR().ToString();
- }
- //获取全部
- private void button21_Click(object sender, EventArgs e)
- {
- tBX.Text = iExtender.GetStageAtX().ToString();
- tBY.Text = iExtender.GetStageAtY().ToString();
- tBZ.Text = iExtender.GetStageAtZ().ToString();
- tBT.Text = iExtender.GetStageAtT().ToString();
- tBR.Text = iExtender.GetStageAtR().ToString();
- }
- //设定XY
- private void button22_Click(object sender, EventArgs e)
- {
- iExtender.MoveStageXY(float.Parse(tBXIn.Text), float.Parse(tBYIn.Text));
- }
- //设定全部
- private void button23_Click(object sender, EventArgs e)
- {
- float[] pos = new float[5];
- pos[0] = float.Parse(tBXIn.Text);
- pos[1] = float.Parse(tBYIn.Text);
- pos[2] = float.Parse(tBZIn.Text);
- pos[3] = float.Parse(tBTIn.Text);
- pos[4] = float.Parse(tBRIn.Text);
- iExtender.SetStagePosition(pos);
- }
- //设定X
- private void button16_Click(object sender, EventArgs e)
- {
- iExtender.SetStageGotoX(float.Parse(tBXIn.Text));
- }
- //设定Y
- private void button17_Click(object sender, EventArgs e)
- {
- iExtender.SetStageGotoY(float.Parse(tBYIn.Text));
- }
- //设定Z
- private void button18_Click(object sender, EventArgs e)
- {
- iExtender.SetStageGotoZ(float.Parse(tBZIn.Text));
- }
- //设定T
- private void button19_Click(object sender, EventArgs e)
- {
- iExtender.SetStageGotoT(float.Parse(tBTIn.Text));
- }
- //设定R
- private void button20_Click(object sender, EventArgs e)
- {
- iExtender.SetStageGotoR(float.Parse(tBRIn.Text));
- }
- private void tBXIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBXIn.Text, sender, e);
- }
- private void tBYIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBYIn.Text, sender, e);
- }
- private void tBZIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBZIn.Text, sender, e);
- }
- private void tBTIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBTIn.Text, sender, e);
- }
- private void tBRIn_KeyPress(object sender, KeyPressEventArgs e)
- {
- textBox_KeyPress(tBRIn.Text, sender, e);
- }
- private void button24_Click(object sender, EventArgs e)
- {
- iExtender.SetImageAcquistionSetting(1, 1, 1024);
- string path = System.Environment.CurrentDirectory;
- iExtender.GrabImage(path+"\\测试.tif", 0, 0, 0, 0, 0);
- Bitmap ExtenderImage = iExtender.GetBitmap();
- if (ExtenderImage != null)
- {
- pBImage.Image = ExtenderImage;
- }
- }
- //点采集
- private void button25_Click(object sender, EventArgs e)
- {
- long[] XrayData = new long[2000];
- Dictionary<string, double> listElement = new Dictionary<string, double>();
- iExtender.XrayPointCollectiong(1, 1, out XrayData, out listElement);
- ShowData(XrayData, listElement);
- }
- void ShowData(long[] XrayData, Dictionary<string, double> listElement)
- {
- Series series = chart1.Series[0];
- series.Points.Clear();
- for (int i = 0; i < 2000; i++)
- {
- series.Points.AddXY(i, XrayData[i]);
- }
- this.dataGridView1.Rows.Clear();
- int index = this.dataGridView1.Rows.Add();
- var ie = listElement.GetEnumerator();
- while (ie.MoveNext())
- {
- this.dataGridView1.Rows[index].Cells[0].Value = ie.Current.Key;
- this.dataGridView1.Rows[index].Cells[1].Value = ie.Current.Value;
- }
- }
- //面采集
- private void button26_Click(object sender, EventArgs e)
- {
- long[] XrayData = new long[2000];
- Dictionary<string, double> listElement = new Dictionary<string, double>();
- List<Segment> listSeg = new List<Segment>();
- Segment seg1 = new Segment();
- seg1.X = 1;
- seg1.Y = 1;
- seg1.Length = 10;
- listSeg.Add(seg1);
- Segment seg2 = new Segment();
- seg2.X = 1;
- seg2.Y = 10;
- seg2.Length = 10;
- listSeg.Add(seg2);
- iExtender.XrayAreaCollectiong(listSeg, out XrayData, out listElement);
- ShowData(XrayData, listElement);
- }
- }
- }
|