То, как некоторые ответы читают документацию, совершенно неверно.Фактически, стиль выделения полностью поддерживается на всех версиях Windows XP, включая 32-разрядную версию Home & Professional, а также версию x64 (которая действительно имеет больше общего сWindows Server 2003, чем XP).Причина, по которой вы, без сомнения, знаете, что все эти операционные системы поддерживают элемент управления, заключается в том, что все они включают в себя идентичную версию comctrl32.dll
, которая и обеспечивает реализацию элемента управления индикатора выполнения.
Я самЯ использовал этот стиль много раз в приложениях, в том числе тех, которые работают на Windows XP, и никогда не было проблем.На самом деле, как я упоминал в комментарии, эти версии операционной системы используют этот стиль индикатора выполнения внутри некоторых диалоговых окон оболочки.
Мне было предложено предоставить код, демонстрирующий это явно уклончивое явление... Я не совсем уверен, как это сделать, так как код, показанный в вопросе, прекрасно работает для меня.Так что, я думаю, я просто перепечатал это здесь вместе с некоторыми скриншотами:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.progressBar1.Style = ProgressBarStyle.Marquee;
this.progressBar1.MarqueeAnimationSpeed = 100;
}
}
Запуск под Windows XP с включенной темой Luna:
И работает под Windows XP с включенной темой Classic:
Это все из чистой виртуальной машины с 32-разрядной версией Windows XP Professional SP3.Для доказательства:
Редактировать: Похоже, что если у вас установлена пользовательская тема, стиль выделения может отображаться неправильно.Проверьте настройки на панели управления дисплеем.Правильно работают встроенные темы Luna (Windows XP) и Classic, а также неофициальная тема «Акварель».Дизайнеры тем отвечают за разработку этих элементов и включение их в свои темы.Если вы заметили, что ваша тема не поддерживает этот стиль, обратитесь к источнику за обновлением.