Мне нужно настроить MenuStrip с помощью Visual C ++. Я пытался создать ColorTable, но он говорил мне, что я не могу переопределить не виртуальный метод класса, при других попытках он говорит мне, что я не могу переопределить свойства.
В настоящее время я не могу опубликовать некоторые из моих попыток, поскольку у меня есть Mac, когда я использую систему Windows в офисе.
Я наконец понял это сам.
Кулак, создайте собственный ColorTable. Например:
public ref class MyCustomColorTable: public ProfessionalColorTable
{
public:
property Color MenuBorder {
public: virtual Color get() override {
return Color::FromArgb(180, 180, 185);
};
};
property Color MenuItemBorder {
public: virtual Color get() override {
return Color::FromArgb(0, 0, 0, 0);
};
};
property Color ImageMarginGradientBegin {
public: virtual Color get() override {
return Color::FromArgb(0, 0, 0, 0);
};
};
property Color ImageMarginGradientMiddle {
public: virtual Color get() override {
return Color::FromArgb(0, 0, 0, 0);
};
};
property Color ImageMarginGradientEnd {
public: virtual Color get() override {
return Color::FromArgb(0, 0, 0, 0);
};
};
property Color ToolStripDropDownBackground {
public: virtual Color get() override {
return Color::FromArgb(248, 248, 248);
};
};
};
Во-вторых, тогда в ваших формах onLoad, сделайте что-то вроде этого:
this->menuStrip->Renderer = gcnew ToolStripProfessionalRenderer(gcnew MyCustomColorTable());
Других решений пока нет …