gpt4 book ai didi

c# - 如果 ProgressBar 控件的样式为 ProgressBarStyle.Marquee,则 ProgressBar 控件无效

转载 作者:行者123 更新时间:2023-11-30 19:47:51 25 4
gpt4 key购买 nike

我正在尝试用选取框样式测试进度条,但没有成功

    private void Form1_Load(object sender, EventArgs e)
{
Application.EnableVisualStyles();

this.progressBar1.Style = ProgressBarStyle.Marquee;
this.progressBar1.MarqueeAnimationSpeed = 100;
//this.progressBar1.Value = 0;
}

更新:在 MSDN

Marquee 样式仅在 Windows XP Home Edition、Windows XP Professional x64 Edition、Windows Server 2003 Platform 中受支持,这可能是问题所在吗?

更新 2:问题似乎是我安装在我机器上的主题,而不是 xp 版本...我删除了主题,问题就消失了!

最佳答案

几个答案阅读文档的方式完全不正确。事实上,所有 版本的 Windows XP 都完全支持选取框样式,包括 32 位家庭版和专业版,以及 x64 版(实际上在Windows Server 2003 比 XP 更常见)。您毫无疑问地知道所有这些操作系统都支持该控件的原因是因为它们都包含相同版本的 comctrl32.dll,它提供了进度条控件的实现。

我自己在应用程序中多次使用这种风格,包括那些在 Windows XP 上运行的应用程序,并且从未遇到过问题。事实上,正如我在评论中提到的,这些版本的操作系统在几个 shell 对话框中内部使用了这种风格的进度条。

我一直被要求提供代码来证明这种明显回避的现象……我不太确定该怎么做,因为问题中显示的代码对我来说效果很好。所以我想我会在这里重印它,连同一些截图:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

this.progressBar1.Style = ProgressBarStyle.Marquee;
this.progressBar1.MarqueeAnimationSpeed = 100;
}
}

在启用 Luna 主题的 Windows XP 下运行:

Marquee progress bar control running under Windows XP with the Luna Homestyle theme

并在启用经典主题的 Windows XP 下运行:

Marquee progress bar control running under Windows XP with the Classic theme

这全部来自加载了 32 位 Windows XP Professional SP3 的干净虚拟机。证明:

"System Properties" from the demo machine, indicating that it is, in fact, Windows XP Professional SP3 32-bit

编辑:如果您安装了自定义主题,选取框样式可能无法正确显示。检查显示控制面板中的设置。内置的 Luna (Windows XP) 和经典主题可以正常工作,非官方的“水彩”主题也是如此。主题设计师负责设计这些元素并将它们整合到他们的主题中。如果您发现您的主题不支持此样式,请联系源以获取更新。

关于c# - 如果 ProgressBar 控件的样式为 ProgressBarStyle.Marquee,则 ProgressBar 控件无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6053621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com