首页 新闻 搜索 专区 学院

无法将类型“UserControl1”隐式转换为“System.Windows.Forms.Form”,该怎么解决?

0
悬赏园豆:5 [已解决问题] 解决于 2013-10-22 08:55

在userControl这个控件里面调用之前在winform里面的代码,这是代码

private void button11_Click(object sender, EventArgs e)
{
RectLatLng area = MainMap.SelectedArea;
if (!area.IsEmpty)
{
for (int i = (int)MainMap.Zoom; i <= MainMap.MaxZoom; i++)
{
DialogResult res = MessageBox.Show("Ready ripp at Zoom = " + i + " ?", "GMap.NET", MessageBoxButtons.YesNoCancel);

if (res == DialogResult.Yes)
{
using (TilePrefetcher obj = new TilePrefetcher())
{
obj.Owner = this;this表示要转换为UserControl1,无法隐式转化
obj.ShowCompleteMessage = true;
obj.Start(area, i, MainMap.MapProvider, 100);
}
}
else if (res == DialogResult.No)
{
continue;
}
else if (res == DialogResult.Cancel)
{
break;
}
}
}
else
{
MessageBox.Show("Select map area holding ALT", "GMap.NET", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}

求解

Danny@yang的主页 Danny@yang | 初学一级 | 园豆:145
提问于:2013-10-21 14:21
< >
分享
最佳答案
-1

报错是类型不一致,Form才可以是Owner。你应该把this,修改为具体的Form。

收获园豆:3
幻天芒 | 高人七级 |园豆:36672 | 2013-10-21 15:37
其他回答(1)
0

这个obj.Owner应该是usercontrol类型的吧?usercontrol有没有继承Form类,或者Form类的子父类呢?如果没有的话,理论上确实无法转型,类型不匹配。

收获园豆:2
seaconch | 园豆:4823 (老鸟四级) | 2013-10-21 16:38

obj.Owner是Form类型,两个没有继承关系

支持(0) 反对(0) Danny@yang | 园豆:145 (初学一级) | 2013-10-22 08:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册