为什么ShowDialog子窗体关闭后还能访问里面的属性?
        MyTest test = new MyTest();
        test.ShowDialog();
        test = null;
        MessageBox.Show("hello My name is " + test.Name);

                    为什么MyTest窗体关闭了,还能访问里面的属性值test.Name?

6个回答

本来就应该这样。

要不怎么获取对话框用户的输入呢?

你看系统对话框也是这样:
OpenFileDialog ofn = new OpenFileDialog();
if (ofn.ShowDialog() == DialogResult.OK)
{
string filename = ofn.FileName; //获得用户选择的文件名
}

如果你非要从语法的角度来说,那就是关闭窗口并不会销毁窗口对应的类。

关闭并没有真正的销毁,所以可以访问

xiaozhunamen
xiaozhunamen 能说的详细点么?没有销毁,以什么状态存在的呢?在内存里没有被清理?
接近 6 年之前 回复

OpenFileDialog ofn = new OpenFileDialog();
if (ofn.ShowDialog() == DialogResult.OK)
{
string filename = ofn.FileName; //获得用户选择的文件名

因为窗口没用真正的关闭,要destroy的之后就没数据了。

还没调用dispose函数呢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐