描述:我有两个Form: Form1, Form2, 在Form1中有个Button, 当我点击Button,用ShowDialog() 显示出Form2来.
现在在VC中, 用FindWindow找到Form2的句柄hwnd, 然后ShowWindow(hwnd, SW_HIDE), Form2就自动销毁了,但对Form1执行相同的操作(隐藏Form1)时,Form1并不会销毁。请问这是为什么?以及怎样避免销毁?在VC中并不会这样。谢谢。代码如下:
namespace DPDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void OnClick(object sender, EventArgs e)
{
Form form = new Form2();
form.ShowDialog();
int t = 0; //当我在VC中隐藏Form2时,会代码会执行到这儿。为什么Form2会退出ShowDialog?
}
}
}
现在在VC中, 用FindWindow找到Form2的句柄hwnd, 然后ShowWindow(hwnd, SW_HIDE), Form2就自动销毁了,但对Form1执行相同的操作(隐藏Form1)时,Form1并不会销毁。请问这是为什么?以及怎样避免销毁?在VC中并不会这样。谢谢。代码如下:
namespace DPDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void OnClick(object sender, EventArgs e)
{
Form form = new Form2();
form.ShowDialog();
int t = 0; //当我在VC中隐藏Form2时,会代码会执行到这儿。为什么Form2会退出ShowDialog?
}
}
}
http://msdn.microsoft.com/zh-cn/library/c7ykbedk.aspx
用ShowDialog程序会停到这里,当你关闭ShowDialog出来的窗体的时候 ShowDialog下面的代码才会执行,
写个东西试下就能发现
你的代码就停在showdialog()那里等待用户响应,不往下走了。只有等到dialogresult返回,才继续执行。