您好我有一个表单应用程序,它使用基于名为 colorSlider 的跟踪栏的自定义控件。此控件是从代码项目中获得的,并添加到 VS2017 中的工具中。控制的各个方面工作正常。我可以随意更改任何属性。然而,最终的项目是相当大的,所有的轨迹栏(50 左右)都将被这个自定义控件所取代。我还希望能够使用用户自定义皮肤修改滑块的外观和感觉。所以,这里有一个典型的命令来改变滑块上的按钮。
colorSlider1.ThumbInnerColor = Color.FromArgb(99, 130, 208);
这工作得很好。但是我想循环执行此操作。所有控件都在一个称为背面板的面板上。这是更改按钮前景色的示例:
foreach (Panel pnl in backPanel.Controls)
{
foreach (Control c in pnl.Controls)
{
if (c is Button)
{
c.ForeColor = Color.Black;
}
}
}
这很好用。但是,如果我尝试这个:
foreach (Panel pnl in backPanel.Controls)
{
foreach (Control c in pnl.Controls)
{
if (c is ColorSlider.ColorSlider)
{
c.ThumbInnerColor = Color.FromArgb(99, 130, 208);
}
}
}
在这种情况下,Visual Studio 给出了语法错误
错误 CS1061“Control”不包含“ThumbInnerColor”的定义,并且找不到接受“Control”类型的第一个参数的可访问扩展方法“ThumbInnerColor”(您是否缺少 using 指令或程序集引用?)
所以有人知道如何解决这个问题吗?谢谢