using KGIS.Framework.Platform; using KGIS.Framework.Platform.Interface; using KGIS.Framework.Utils; using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; namespace Kingo.Plugin.Start { public partial class StartForm : Form, IPluginStart { public bool IsClosed { get; set; } public bool IsShow { get; set; } private string title { get; set; } private Action _setPercentAction; public StartForm() { InitializeComponent(); _setPercentAction = SetPercent; DrawButton(progressBarControl1); this.Shown += (s, e) => { IsShow = true; }; this.Load += (sender, e) => { if (string.IsNullOrWhiteSpace(title)) { title = " 今 奥 年 度 变 更 调 查 建 库 软 件 V2.0"; } this.Invoke(new Action(() => { // 具体的方法内容 这里写show() label2.Text = title; this.Icon = new Icon(string.Format("{0}.ico", Platform.Instance.SystemType.ToString())); })); }; //label2.Text = ConfigurationManager.AppSettings.Get("APPName"); ; } public void DrawButton(Control sender) { GraphicsPath FormPath; Rectangle rect = new Rectangle(0, 0, sender.Width - 2, sender.Height); FormPath = GetRoundedRectPath(rect, 10); sender.Region = new Region(FormPath); } /// /// 带圆角矩形 /// /// 圆角半径 private GraphicsPath GetRoundedRectPath(Rectangle rect, int radius) { int diameter = radius; Rectangle arcRect = new Rectangle(rect.Location, new Size(diameter, diameter)); GraphicsPath path = new GraphicsPath(); // 左上角 path.AddArc(arcRect, 180, 90); // 右上角 arcRect.X = rect.Right - diameter; path.AddArc(arcRect, 270, 90); // 右下角 arcRect.Y = rect.Bottom - diameter; path.AddArc(arcRect, 0, 90); // 左下角 arcRect.X = rect.Left; path.AddArc(arcRect, 90, 90); path.CloseFigure();//闭合曲线 return path; } public void SetPercent(int current, int allCount, string message) { try { if (InvokeRequired) { System.Threading.Thread.Sleep(300); Invoke(_setPercentAction, current, allCount, message); } else { progressBarControl1.Properties.Maximum = allCount; progressBarControl1.Position = current; label1.Text = "正在初始化【" + message + "】"; //if (current == allCount) // IsClosed = true; } } catch (Exception ex) { LogAPI.Debug("加载 【" + message + "】插件 时异常,异常信息如下:"); LogAPI.Debug(ex); LogAPI.Debug("加载 【" + message + "】插件 时异常信息结束"); } } public void CloseForm() { this.Invoke(new Action(() => { Close(); })); } public void SetTitle(string _title) { title = _title; } public void SetSystemType(string pType) { this.BackgroundImage = (System.Drawing.Bitmap)global::Kingo.Plugin.Start.Properties.Resources.ResourceManager.GetObject(pType, global::Kingo.Plugin.Start.Properties.Resources.Culture); //this.Icon = new Icon("TBBG.ico"); //this.Invoke(new Action(() => //{ // //this.Icon = new Icon("TBBG.ico"); //})); } } }