无法将类型为“服务器屏幕”的对象转换为类型“服务器.Form1”
本文关键字:服务器 类型 对象 转换 Form1 屏幕 服务器屏幕 | 更新日期: 2023-09-27 18:30:17
>有人知道为什么我会收到此错误:无法将类型为"服务器屏幕"的对象转换为类型"服务器.Form1"。
这是我收到错误的地方:
foreach (Form1 F in Application.OpenForms)
{
F.AddRow(Datas[1], Datas[2] + "/" + Datas[3], Datas[4], Datas[5], Datas[6], Datas[7], Datas[8], Datas[9], Datas[10], Datas[11] +" Mb", Datas[12]);
F.AddBot(1);
}
屏幕是一种窗口形式,但奇怪的是我很少收到此错误,所以我不知道为什么:S
你的 foreach 循环本质上编译为此
for(int i = 0; i < Application.OpenForms.Length; ++i) {
Form1 F = (Form1)Application.OpenForms[i];
...
}
所以你的一个开放形式是 Server.Screen
型的,它不是 Form1
的子类。所以演员阵容失败了。您可能最好将 foreach 循环更改为使用 System.Windows.Forms.Form
作为类型,但如果没有更多代码和更多想法,很难在这里真正提供建议。