private void LoadPlugins() { crm = new CrmHelper(); config.PluginInfo = crm.GetRegisteredPluginAssemblies(); MergePathFromConfigFile(); Button btnUpdateAllPlugin = new Button(); btnUpdateAllPlugin.Text = "Update All"; btnUpdateAllPlugin.Tag = Guid.Empty; btnUpdateAllPlugin.Width = 200; btnUpdateAllPlugin.Height = 50; btnUpdateAllPlugin.Click += new EventHandler(btnUpdateAllPlugin_Click); flowLayoutPanel1.Controls.Add(btnUpdateAllPlugin); baseColor = btnUpdateAllPlugin.BackColor; foreach (var plugin in config.PluginInfo) { if (!plugin.Hide) { Button btnUpdatePlugin = new Button(); btnUpdatePlugin.Text = plugin.ShortName; btnUpdatePlugin.Tag = plugin.Id; btnUpdatePlugin.Width = 200; btnUpdatePlugin.Height = 50; btnUpdatePlugin.Click += new EventHandler(btnUpdatePlugin_Click); flowLayoutPanel1.Controls.Add(btnUpdatePlugin); } } }
private void UpdatePluginAsync(object info) { PluginInfo pinfo=(PluginInfo)info; this.Invoke(new CustomDelegates.ChangeButtonColorDelegate(ChangeButtonColor), pinfo.Id,Color.Yellow); try { CrmHelper crm2 = new CrmHelper(); crm2.UpdatePlugin(pinfo,isRelease); this.Invoke(new CustomDelegates.ChangeButtonColorDelegate(ChangeButtonColor), pinfo.Id, Color.Green); } catch { this.Invoke(new CustomDelegates.ChangeButtonColorDelegate(ChangeButtonColor), pinfo.Id, Color.Red); } }