Пример #1
0
        private void addtoolstripitem(string name, object classobject)
        {
            if (name == "Seperator")
                Items.Add(new ToolStripSeparator());
            else
            {
                bool merge = typeof (MainForm) != classobject.GetType();

                var toolstripbutton = new ToolStripButton(name) {Name = name};
                EventInfo eventinfo = toolstripbutton.GetType().GetEvent("Click");
                // Zoek de string.Format("{0}_Click", name.Replace(" ", "")) methode van classobject
                MethodInfo methodinfo =
                    classobject.GetType().GetMethod(string.Format("{0}_Click", name.Replace(" ", "")));

                if (methodinfo == null) // Als die niet bestaat.
                    toolstripbutton.Enabled = false;
                else // Anders, voeg een EventHandler toe van het Click event naar die methode.
                    eventinfo.AddEventHandler(toolstripbutton,
                                              Delegate.CreateDelegate(eventinfo.EventHandlerType, classobject,
                                                                      methodinfo));

                if (merge)
                    toolstripbutton.MergeAction = MergeAction.Replace;

                Items.Add(toolstripbutton);
                itemdictionary.Add(name, toolstripbutton);
            }
        }
Пример #2
0
 static string GetToolStripButtonState(ToolStripButton button)
 {
     return button.GetType().ToString() + ":" + (button.Checked == true ? "yes" : "no");
 }