AOIManager.cs 2.4 KB
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using TSA_V.Common;

namespace TSA_V
{
    class AOIManager
    {
        public static List<string> FileList = new List<string>();

        
        public static void LoadAOIFile(ComboBox cmbAoiFile,string DefaultName="")
        {
            try
            {

                //cmbAoiFile.Items.Clear();
                FileList = new List<string>();
                if (cmbAoiFile!=null)
                    FileList.Add(ResourceCulture.GetString("不使用AOI"));
                string appPath = Application.StartupPath;
                string pathName = ConfigAppSettings.GetValue(Setting_Init.AOIFileConfig);
                string filePath = appPath + pathName;

                string path = Path.GetDirectoryName(filePath);
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                    LogUtil.error("加载AOIFile时,创建路径:"+path);
                }
                // string suffix = Path.GetExtension(filePath);
                string suffix = ".data";
                 string[] files = Directory.GetFiles(path);
                foreach (string f in files)
                {
                    if (Path.GetExtension(f).Equals(suffix))
                    {
                        string fileName = Path.GetFileName(f);
                        FileList.Add(fileName);
                       // cmbAoiFile.Items.Add(fileName);
                    }
                }
                if (String.IsNullOrEmpty(DefaultName).Equals(false)&& FileList.Contains(DefaultName))
                {
                    FileList.Remove(DefaultName);
                    FileList.Insert(1, DefaultName);
                }
                if (cmbAoiFile != null)
                {
                    cmbAoiFile.DataSource = null;
                    cmbAoiFile.DataSource = FileList;
                    int index = AOIManager.FileList.IndexOf(DefaultName);
                    if (index >= 0)
                    {
                        cmbAoiFile.SelectedIndex = index;
                    }
                }
            }
            catch (Exception ex)
            {
                LogUtil.error("加载出错:" + ex.ToString());
            }
        }
    }
}