123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- using GrxCAD.ApplicationServices;
- using GrxCAD.DatabaseServices;
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
-
- namespace HCTools
- {
- public partial class Layerchange_Form : Form
- {
- public Layerchange_Form()
- {
- InitializeComponent();
- }
-
- private void button_choose_Click(object sender, EventArgs e)
- {
- FolderBrowserDialog open = new FolderBrowserDialog();
- open.Description = "请选择文件夹";
- if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- {
- textBox_dwgpath.Text = open.SelectedPath;
- }
- if (textBox_dwgpath.Text == "")
- {
- MessageBox.Show("未选择文件夹");
- return;
- }
- // 获取dwg文件
- else
- {
- this.Hide();
- DirectoryInfo root = new DirectoryInfo(textBox_dwgpath.Text);
- List<String> filename = new List<string>(); //文件名
- FileInfo[] files = root.GetFiles();
- foreach (FileInfo file in files)
- {
- if (file.Name.Substring(file.Name.Length - 4, 4) != ".dwg")
- continue;
- else
- filename.Add(file.Name);
- }
- string dwg = textBox_dwgpath.Text + "\\" + filename[0];
- //获取文件中图层
- Document doc = GrxCAD.ApplicationServices.Application.DocumentManager.Add(dwg);
- Database database = doc.Database;
- using (Transaction traction = database.TransactionManager.StartTransaction())
- {
- //存放所有图层名
- List<string> alllayername = new List<string>();
- 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.checkedListBox_tc.Items.Add(alllayername[i]);
- }
- traction.Commit();
- }
- doc.CloseAndDiscard();
- this.Show();
- }
- }
-
- private void button_ok_Click(object sender, EventArgs e)
- {
- if (textBox_dwgpath.Text == "")
- {
- MessageBox.Show("未选择文件夹!");
- return;
- }
- else if (textBox_savepath.Text == "")
- {
- MessageBox.Show("未选择保存路径!");
- return;
- }
- else
- {
- LayerChange.dwgpath = textBox_dwgpath.Text;
- List<string> list = new List<string>();
- for (int i = 0; i < checkedListBox_tc.CheckedItems.Count; i++)
- {
- list.Add(checkedListBox_tc.CheckedItems[i].ToString());
- }
- LayerChange.lys = list;
- if (checkBox_delete.Checked == true)
- {
- LayerChange lyc = new LayerChange();
- LayerChange.flag = 0;
- lyc.chagly();
- this.Close();
- }
- if (checkBox_close.Checked == true)
- {
- LayerChange lyc = new LayerChange();
- LayerChange.flag = 1;
- lyc.chagly();
- this.Close();
- }
- if (checkBox_open.Checked == true)
- {
- LayerChange lyc = new LayerChange();
- LayerChange.flag = 2;
- lyc.chagly();
- this.Close();
- }
- if (checkBox_deletnull.Checked == true)
- {
- LayerChange lyc = new LayerChange();
- LayerChange.flag = 3;
- lyc.chagly();
- this.Close();
- }
- if (checkBox_deletself.Checked == true)
- {
- LayerChange lyc = new LayerChange();
- LayerChange.flag = 4;
- lyc.chagly();
- this.Close();
- }
- }
- }
-
- private void button_cancel_Click(object sender, EventArgs e)
- {
- this.Close();
- }
-
- private void Layerchange_Form_Load(object sender, EventArgs e)
- {
- this.MaximizeBox = false;
- this.StartPosition = FormStartPosition.CenterScreen;
- }
-
- private void button_cssavepath_Click(object sender, EventArgs e)
- {
- FolderBrowserDialog open = new FolderBrowserDialog();
- open.Description = "请选择文件夹";
- if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
- textBox_savepath.Text = open.SelectedPath;
- LayerChange.savepath = textBox_savepath.Text;
- }
-
- private void checkBox_selectall_CheckedChanged(object sender, EventArgs e)
- {
- if (checkBox_selectall.Checked == true)
- {
- for (int i = 0; i < checkedListBox_tc.Items.Count; i++)
- {
- checkedListBox_tc.SetItemCheckState(i, CheckState.Checked);
- }
- }
- else
- {
- for (int i = 0; i < checkedListBox_tc.Items.Count; i++)
- {
- checkedListBox_tc.SetItemCheckState(i, CheckState.Unchecked);
- }
- }
- }
- }
- }
|