У меня проблемы с совместимостью перекрестных тем в формах Windows. Если вы не установите шрифт для элемента управления в форме окна, он будет использовать системный шрифт с правильными шрифтом и размером. Если вы хотите сделать шрифт полужирным , он жестко кодирует остальные значения системных шрифтов для текущей темы, с которой вы программируете. Например:
System::Windows::Forms::Label^ label1 = gcnew System::Windows::Forms::Label();
this->label1->AutoSize = true;
this->label1->Location = System::Drawing::Point(9, 12);
this->label1->Name = L"lblExample";
this->label1->Size = System::Drawing::Size(44, 13);
this->label1->TabIndex = 3;
this->label1->Text = L"Example Text";
Если я затем изменю свойства этого через редактор свойств, так что bold = true, он добавляет в этой строке:
this->label1->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(0)));
Есть ли способ использовать шрифт по умолчанию, но сделать его жирным?
Далее, есть ли способ использовать системный шрифт, но увеличить его на 3 или 4 пункта?