不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
WinForm调用主窗体Close方法失败:从不是创建控件的线程访问它
编辑:dnawo 日期:2014-07-18
事情是这样子的:在主窗体点击按钮打开了窗体B,我希望关闭窗体B时关闭整个应用程序,首先想到的一个方案是在窗体B的FormClosed事件中调用主窗体的Close方法,结果不可行。
主窗体程序:
窗体B程序:
执行出错,提示:从不是创建控件“button1”的线程访问它:

解决方法
窗体B改用Application.Exit方法关闭应用程序,问题解决:
主窗体程序:
复制内容到剪贴板
程序代码

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
(new Form2()).Show(this);
}
}
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
(new Form2()).Show(this);
}
}
窗体B程序:
复制内容到剪贴板
程序代码

public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1 frm = this.Owner as Form1;
if (frm != null)
{
frm.Close();
}
}
}
{
public Form2()
{
InitializeComponent();
}
private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Form1 frm = this.Owner as Form1;
if (frm != null)
{
frm.Close();
}
}
}
执行出错,提示:从不是创建控件“button1”的线程访问它:

解决方法
窗体B改用Application.Exit方法关闭应用程序,问题解决:
复制内容到剪贴板
程序代码

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
{
Application.Exit();
}
评论: 0 | 引用: 0 | 查看次数: 3226
发表评论
请登录后再发表评论!