Solidworks 属性 管理器页面 - 同一行有 2 个按钮

Solidworks Property Manager Page - 2 buttons on same line

我正在构建自己的 Solidworks 插件,在构建它的过程中遇到了困难。

有人知道如何在 属性 管理器页面中并排创建 2 个按钮吗?我尝试了 swPropertyManagerPageControlLeftAlign_e 枚举的不同可能性,但没有成功。

我的想法是希望人们 select 从配置列表中,他们希望服务器处理的每个配置。因此我创建了 4 个按钮 (SelectAll/SelectHighlighted/DeSelectHighlighted/DeSelectAll) 来帮助用户 selections。

这是目前的样子:

                //Ajout Controls Group_Configs
            lst_Configs_All = Group_Configs.AddControl2(lst_Configs_All_ID, (int)swPropertyManagerPageControlType_e.swControlType_Listbox, "Configurations", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Liste des configurations du modèle actif");
            lst_Configs_All.Height = 180;
            lst_Configs_All.Style = (int)swPropMgrPageListBoxStyle_e.swPropMgrPageListBoxStyle_NoIntegralHeight;

            BitmapHandler iBmp = new BitmapHandler();
            string BitmapFileName = iBmp.CreateFileFromResourceBitmap("Willy.Controller.Template.btnConfigs.bmp", System.Reflection.Assembly.GetAssembly(this.GetType()));


            // string BitmapFileName = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)); //& "\" & _SwAddin.BitMapsFolder & "Select2.bmp"

            btn_Configs_SelectAll = Group_Configs.AddControl2(btn_Configs_SelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Tout Sélectionner", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Sélectionner toutes les configurations");
            btn_Configs_SelectAll.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_Select = Group_Configs.AddControl2(btn_Configs_Select_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Sélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Sélectionner les configuration surlignées");
            btn_Configs_Select.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_DeSelect = Group_Configs.AddControl2(btn_Configs_DeSelect_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Désélectionner les configuration surlignées");
            btn_Configs_DeSelect.SetBitmapsByName3(BitmapFileName, "");

            btn_Configs_DeSelectAll = Group_Configs.AddControl2(btn_Configs_DeSelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner toutes les configuration", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Désélectionner toutes les configuration");
            btn_Configs_DeSelectAll.SetBitmapsByName3(BitmapFileName, "");

            lst_Configs_ToDo = Group_Configs.AddControl2(lst_Configs_ToDo_ID, (int)swPropertyManagerPageControlType_e.swControlType_Listbox, "Configurations", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_LeftEdge, (int)swAddControlOptions_e.swControlOptions_Enabled + (int)swAddControlOptions_e.swControlOptions_Visible, "Liste des configurations à générer");
            lst_Configs_ToDo.Height = 180;
            lst_Configs_ToDo.Style = (int)swPropMgrPageListBoxStyle_e.swPropMgrPageListBoxStyle_NoIntegralHeight;

好的,我想经过一些研究我找到了解决这个问题的方法。

Source

您需要将 BitmapButton 转换为其父对象 (属性ManagerPageControl) 才能访问顶部和左侧 属性。然后您可以将像素设置为您需要的任何值。

编辑:这是我要经理做的事情。我也包括代码。

            btn_Configs_SelectAll = Group_Configs.AddControl2(btn_Configs_SelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Tout Sélectionner", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Sélectionner toutes les configurations");
        string[] imageList = new string[1];
        imageList[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_SelectAll.bmp";
        btn_Configs_SelectAll.SetBitmapsByName3(imageList, imageList);
        ((PropertyManagerPageControl)btn_Configs_SelectAll).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_SelectAll).Left = 0;

        btn_Configs_Select = Group_Configs.AddControl2(btn_Configs_Select_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Sélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Sélectionner les configuration surlignées");
        string[] imageList2 = new string[1];
        imageList2[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_Select.bmp";
        btn_Configs_Select.SetBitmapsByName3(imageList2, imageList2);
        ((PropertyManagerPageControl)btn_Configs_Select).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_Select).Left = 30;

        btn_Configs_DeSelect = Group_Configs.AddControl2(btn_Configs_DeSelect_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner les configuration surlignées", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Désélectionner les configuration surlignées");
        string[] imageList3 = new string[1];
        imageList3[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_DeSelect.bmp";
        btn_Configs_DeSelect.SetBitmapsByName3(imageList3, imageList3);
        ((PropertyManagerPageControl)btn_Configs_DeSelect).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_DeSelect).Left = 60;

        btn_Configs_DeSelectAll = Group_Configs.AddControl2(btn_Configs_DeSelectAll_ID, (int)swPropertyManagerPageControlType_e.swControlType_BitmapButton, "Désélectionner toutes les configuration", (int)swPropertyManagerPageControlLeftAlign_e.swControlAlign_Indent, options, "Désélectionner toutes les configuration");
        string[] imageList4 = new string[1];
        imageList4[0] = System.IO.Path.GetDirectoryName((System.Reflection.Assembly.GetExecutingAssembly().Location)) + @"\View\Bitmaps\btnConfigs_DeSelectAll.bmp";
        btn_Configs_DeSelectAll.SetBitmapsByName3(imageList4, imageList4);
        ((PropertyManagerPageControl)btn_Configs_DeSelectAll).Top = 140;
        ((PropertyManagerPageControl)btn_Configs_DeSelectAll).Left = 90;