public void Dispose() { if (this.tuto != null) { this.tuto.Stop(); this.tuto = null; } }
private void Init() { if (this.tuto == null) { this.tuto = new TutorialListening.Tutorial((c, f, a) => { if (!String.IsNullOrEmpty(c)) { List <Form> list = new List <Form>(); // recopie la liste (car elle est sujette à changer au cours de l'exécution) foreach (Form z in Application.OpenForms) { list.Add(z); } foreach (Form z in list) { if (z.Name == c) { Type t = z.GetType(); object res = t.InvokeMember(f, System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Public, null, z, new object[] { }); if (res != null) { if (res is Button) { Button btn = res as Button; btn.PerformClick(); } else if (res is MenuItem) { MenuItem menu = res as MenuItem; menu.PerformClick(); } else if (res is RadioButton) { RadioButton radio = res as RadioButton; radio.PerformClick(); } else if (res is ToolStripMenuItem) { ToolStripMenuItem tool = res as ToolStripMenuItem; if (a == "Select") { tool.Select(); } else if (a == "Show") { tool.DropDown.Show(); } else if (a == "Click") { tool.PerformClick(); } } break; } } } } }); } }