using GrxCAD.DatabaseServices; 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; namespace HCTools { public partial class Conn : Form { public Conn() { InitializeComponent(); } private void Conn_Load(object sender, EventArgs e) { if (MainClass.Flag == "SelfIntersect") { this.Text = "线自相交"; } if (MainClass.Flag == "EachIntersect") { this.Text = "线相交"; } this.comboBox_jqx.DropDownStyle = ComboBoxStyle.DropDownList; this.comboBox_sqx.DropDownStyle = ComboBoxStyle.DropDownList; //自动填充下拉框 Database database = GrxCAD.DatabaseServices.HostApplicationServices.WorkingDatabase; using (Transaction traction = database.TransactionManager.StartTransaction()) { //存放所有图层名 List alllayername = new List(); LayerTable layertable = traction.GetObject(database.LayerTableId, OpenMode.ForRead) as LayerTable; foreach (ObjectId objid in layertable) { LayerTableRecord layertablerecord = traction.GetObject(objid, OpenMode.ForRead) as LayerTableRecord; alllayername.Add(layertablerecord.Name); } alllayername.Sort(); for (int i = 0; i < alllayername.Count; i++) { this.comboBox_jqx.Items.Add(alllayername[i]); this.comboBox_sqx.Items.Add(alllayername[i]); } if (alllayername.Contains("8110")) { int index = alllayername.IndexOf("8110"); this.comboBox_sqx.SelectedIndex = index; } if (alllayername.Contains("8120")) { int index = alllayername.IndexOf("8120"); this.comboBox_jqx.SelectedIndex = index; } traction.Commit(); } } private void btn_OK_Click(object sender, EventArgs e) { if (MainClass.Flag == "SelfIntersect") { if (comboBox_blc.Text == "") { GrxCAD.ApplicationServices.Application.ShowAlertDialog("请选择比例尺"); return; } //比例尺 string blctext = comboBox_blc.Text; int blcindex = blctext.LastIndexOf(':'); string strblc = blctext.Substring(blcindex + 1); Inters.blc = Convert.ToInt32(strblc); Inters.jqx = comboBox_jqx.Text; Inters.sqx = comboBox_sqx.Text; this.Close(); Inters selfints = new Inters(); selfints.SelfInts(); } if (MainClass.Flag == "EachIntersect") { if (comboBox_blc.Text == "") { GrxCAD.ApplicationServices.Application.ShowAlertDialog("请选择比例尺"); return; } //比例尺 string blctext = comboBox_blc.Text; int blcindex = blctext.LastIndexOf(':'); string strblc = blctext.Substring(blcindex + 1); Inters.blc = Convert.ToInt32(strblc); this.Close(); Inters eachints = new Inters(); eachints.Ints(); } } } }