示例#1
0
        void toolBox_MouseDown(object sender, MouseEventArgs e)
        {
            try
            {
                GListBox  lbSender           = sender as GListBox;
                Rectangle lastSelectedBounds = lbSender.GetItemRectangle(0);

                try
                {
                    lastSelectedBounds = lbSender.GetItemRectangle(selectedIndex);
                }
                catch (Exception ex)
                {
                    ex.ToString();
                }

                selectedIndex          = lbSender.IndexFromPoint(e.X, e.Y);    // change our selection
                lbSender.SelectedIndex = selectedIndex;
                lbSender.Invalidate(lastSelectedBounds);                       // clear highlight from last selection
                lbSender.Invalidate(lbSender.GetItemRectangle(selectedIndex)); // highlight new one

                if (selectedIndex != 0)
                {
                    if (e.Clicks == 2)
                    {
                        IDesignerHost idh = (IDesignerHost)this._surface.GetService(typeof(IDesignerHost));
                        IToolboxUser  tbu = idh.GetDesigner(idh.RootComponent as IComponent) as IToolboxUser;

                        if (tbu != null)
                        {
                            GListBoxItem gbi = lbSender.Items[selectedIndex] as GListBoxItem;
                            tbu.ToolPicked((System.Drawing.Design.ToolboxItem)(gbi.toolBoxItem));
                        }
                    }
                    else if (e.Clicks < 2)
                    {
                        GListBoxItem gbi = lbSender.Items[selectedIndex] as GListBoxItem;
                        System.Drawing.Design.ToolboxItem tbi = gbi.toolBoxItem;
                        IToolboxService tbs = this;

                        // The IToolboxService serializes ToolboxItems by packaging them in DataObjects.
                        DataObject d = tbs.SerializeToolboxItem(tbi) as DataObject;

                        try
                        {
                            lbSender.DoDragDrop(d, DragDropEffects.Copy);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ex.ToString();
            }
        }
示例#2
0
        public SheetToolboxService(DesignSurface surface, int Query)
        {
            _surface = surface;
            toolBox  = new GListBox();
            ImageList imageList = new ImageList();

            imageList.Images.Add(Properties.Resources.point);
            imageList.Images.Add(Properties.Resources.label);
            imageList.Images.Add(Properties.Resources.textbox);
            imageList.Images.Add(Properties.Resources.combobox);
            imageList.Images.Add(Properties.Resources.check);
            imageList.Images.Add(Properties.Resources.picture);
            imageList.Images.Add(Properties.Resources.foreignKey);
            toolBox.ImageList = imageList;

            GListBoxItem pointer = new GListBoxItem(0, null);

            pointer.toolBoxItem.DisplayName = "Pointer";
            toolBox.Items.Add(pointer);

            pointer = new GListBoxItem(1, typeof(LabelEx));
            pointer.toolBoxItem.DisplayName = "Label";
            toolBox.Items.Add(pointer);

            pointer = new GListBoxItem(2, typeof(TextBoxEx));
            pointer.toolBoxItem.DisplayName = "TextBox";
            toolBox.Items.Add(pointer);

            pointer = new GListBoxItem(3, typeof(ComboBoxEx));
            pointer.toolBoxItem.DisplayName = "ComboBox";
            toolBox.Items.Add(pointer);

            pointer = new GListBoxItem(4, typeof(CheckBoxEx));
            pointer.toolBoxItem.DisplayName = "CheckBox";
            toolBox.Items.Add(pointer);

            if (Query == 0)//不是查询条件设计器
            {
                pointer = new GListBoxItem(5, typeof(FileDisplay));
                pointer.toolBoxItem.DisplayName = "FileDisplay";//
                toolBox.Items.Add(pointer);

                pointer = new GListBoxItem(6, typeof(ForeignKeyCtrlEx));
                pointer.toolBoxItem.DisplayName = "ForeignKeyBox";
                toolBox.Items.Add(pointer);

                pointer = new GListBoxItem(7, typeof(GroupBoxEx));
                pointer.toolBoxItem.DisplayName = "GroupBoxEx";
                toolBox.Items.Add(pointer);

                pointer = new GListBoxItem(8, typeof(RadioButtonEx));
                pointer.toolBoxItem.DisplayName = "RadioButtonEx";
                toolBox.Items.Add(pointer);

                pointer = new GListBoxItem(9, typeof(NumericUpDownEx));
                pointer.toolBoxItem.DisplayName = "NumericUpDownEx";
                toolBox.Items.Add(pointer);
            }

            toolBox.MouseDown += new MouseEventHandler(toolBox_MouseDown);
        }