Author Topic: How to make configuration panel controls skinnable?  (Read 7750 times)


  • Jr. Member
  • **
  • Posts: 30
I created a label and a check box but they are using default Windows appearance and not MusicBee skin. How can I change it? Below is the screenshot and code.

                Label playCountSyncLabel = new Label();
                playCountSyncLabel.Location = new Point(0, 25);
                playCountSyncLabel.AutoSize = true;
                playCountSyncLabel.Text = "synchronise from ListenBrainz to your library on startup:";
                // Check box.
                playCountSyncCheckBox = new CheckBox();
                playCountSyncCheckBox.Location = new Point(0, 43);
                playCountSyncCheckBox.AutoSize = true;
                playCountSyncCheckBox.Text = "synchronise Play Count";

ListenBrainz plugin for MusicBee:


  • Administrator
  • Hero Member
  • *****
  • Posts: 34420
their is a non-documented way that might work for text and combo boxes:
control = MB_AddPanel(null, PluginPanelDock.TextBox);
control = MB_AddPanel(null, PluginPanelDock.ComboBox);
nothing was done for labels or checkboxes
but you can detect some skin colours
Setting_GetSkinElementColour(SkinElement.SkinInputControl, ElementState.ElementStateDefault, ElementComponent.ComponentBackground);
use Color.FromArgb() to convert the number to a colour