如何在 C# 中使用 foreach 循环更改 Winforms 中多个 DateTimePicker 字段的 CustomFormat?
How to change CustomFormat of multiple DateTimePicker fields in Winforms using foreach loop in c#?
我正在尝试更改 Winforms 表单中多个 DateTimePicker 组件的 CustomFormat。但是,当我创建 foreach 循环时,我无法选择更改 CustomFormat。这是代码:
foreach (Control ctrl in this.Controls)
{
if(ctrl is DateTimePicker)
{
ctrl.CustomFormat = "yyyy-MM-dd";
}
}
我收到错误:“'Control' 不包含 'CustomFormat' 的定义并且没有可访问的扩展方法 'CustomFormat' 接受类型 'Control' 的第一个参数可能是找到(您是否缺少 using 指令或程序集引用?)”。
我正在使用 VS 2022 和 .NET CORE 6(最新稳定版)。
我们非常欢迎对此提供任何帮助。
那是因为您仍在使用类型为 Control 的变量“ctrl”,而不是 DateTimePicker
foreach (Control ctrl in this.Controls)
{
if(ctrl is DateTimePicker dtp)
{
dtp.CustomFormat = "yyyy-MM-dd";
}
}
应该可以正常工作。
我正在尝试更改 Winforms 表单中多个 DateTimePicker 组件的 CustomFormat。但是,当我创建 foreach 循环时,我无法选择更改 CustomFormat。这是代码:
foreach (Control ctrl in this.Controls)
{
if(ctrl is DateTimePicker)
{
ctrl.CustomFormat = "yyyy-MM-dd";
}
}
我收到错误:“'Control' 不包含 'CustomFormat' 的定义并且没有可访问的扩展方法 'CustomFormat' 接受类型 'Control' 的第一个参数可能是找到(您是否缺少 using 指令或程序集引用?)”。
我正在使用 VS 2022 和 .NET CORE 6(最新稳定版)。
我们非常欢迎对此提供任何帮助。
那是因为您仍在使用类型为 Control 的变量“ctrl”,而不是 DateTimePicker
foreach (Control ctrl in this.Controls)
{
if(ctrl is DateTimePicker dtp)
{
dtp.CustomFormat = "yyyy-MM-dd";
}
}
应该可以正常工作。