Beispiel #1
0
        // This method creates a Timer component using the
        // IDesignerHost.CreateComponent method. It also
        // creates an event handler for the Timer component's
        // tick event.
        private void CreateTimer()
        {
            if (_host != null)
            {
                IEventBindingService    eventBindingService     = UIDesigner_Service.IEventBindingService_FromHost(_host);
                DesignerActionUIService designerActionUIService = UIDesigner_Service.DesignerActionUIService_FromHost(_host);

                //if (this.relatedDesigner.createdTimer == null)
                {
                    // Create and configure the Timer object.
                    _createdTimer = _host.CreateComponent(typeof(Timer)) as Timer;
                    if (_createdTimer == null)
                    {
                        return;                        // ================================================
                    }
                    Timer t = _createdTimer;
                    t.Interval = 1000;
                    t.Enabled  = true;

                    EventDescriptorCollection eventColl = TypeDescriptor.GetEvents(t, new Attribute[0]);
                    if (eventColl != null)
                    {
                        var eventDescriptor = eventColl["Tick"] as EventDescriptor;
                        if (eventDescriptor != null)
                        {
                            PropertyDescriptor propertyDescriptor = eventBindingService.GetEventProperty(eventDescriptor);
                            propertyDescriptor.SetValue(t, "timer_Tick");
                        }
                    }

                    designerActionUIService.Refresh(_createdTimer);
                }
            }
        }
Beispiel #2
0
        private void button_Generate_Click(object sender, EventArgs e)
        {
            if (input_Panel1.Field_Value == "")
            {
                "You need to setup panel1 before you can generate code!".zOk();
                return;
            }
            try
            {
                // Select the first panel
                var panelName = input_Panel1.Field_Value;
                listBox_Components.zListBox_SearchItem(panelName); // This will select the panel

                Control controlPanel = UIDesigner_Tools.Host_Controls_SelectedFirst(_host);
                var     panel        = controlPanel as Panel;
                var     group        = controlPanel as GroupBox;
                var     form         = controlPanel as System.Windows.Forms.Form;
                if (panel == null && group == null && form == null)
                {
                    "Please select a parent control".zOk();
                }
                else
                {
                    var input = UIDesigner_Tools.Host_Controls_Add2Form <Input_Control>(_host, controlPanel);
                    if (input == null)
                    {
                        "Unable to create control!".zOk();
                        return;
                    }
                    input.Parent        = controlPanel;
                    input.Top           = 10;
                    input.Left          = 10;
                    input.Dock          = DockStyle.Top;
                    input.Text          = "It works!";
                    input.Field_Caption = "Field Caption:";
                    input.Field_Name    = "Field_Name";

                    // Add Event handler
                    // input.Event_OnValueChange
                    IEventBindingService      eventBindingService = UIDesigner_Service.IEventBindingService_FromHost(_host);
                    EventDescriptorCollection eventColl           = TypeDescriptor.GetEvents(input, new Attribute[0]);
                    if (eventColl != null)
                    {
                        var eventDescriptor = eventColl["Event_OnValueChange"] as EventDescriptor;
                        if (eventDescriptor != null)
                        {
                            PropertyDescriptor propertyDescriptor = eventBindingService.GetEventProperty(eventDescriptor);
                            propertyDescriptor.SetValue(input, "OnValueChangeEvent");
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
                exception.Message.zOk();
            }
        }
Beispiel #3
0
        // This method uses the IEventBindingService.ShowCode
        // method to start the Code Editor. It places the caret
        // in the timer_tick method created by the CreateTimer method.
        private void ShowEventHandlerCode()
        {
            if (_createdTimer == null)
            {
                return;                        // ================================================
            }
            Timer timer = _createdTimer;

            if (timer != null)
            {
                EventDescriptorCollection eventColl =
                    TypeDescriptor.GetEvents(timer, new Attribute[0]);
                if (eventColl != null)
                {
                    var eventDescriptor = eventColl["Tick"] as EventDescriptor;
                    if (eventDescriptor != null)
                    {
                        var eventBindingService = UIDesigner_Service.IEventBindingService_FromHost(_host);
                        eventBindingService.ShowCode(timer, eventDescriptor);
                    }
                }
            }
        }