【发布时间】:2019-07-17 19:47:14
【问题描述】:
您好,我有一个表单应用程序,它使用基于名为 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 指令或程序集引用?)
所以有人知道如何解决这个问题吗? 谢谢
【问题讨论】:
标签: c# user-controls controlcollection