winform 关闭其他窗口

jiayingjie 2009-04-14 03:07:27
怎么在一个窗口中关闭其他的窗口..
谢谢
...全文
113 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xzsnj 2009-04-15
  • 打赏
  • 举报
回复
4L的已经说了很详细了,声明窗体后,抓住句柄就可以关了
xormagic 2009-04-15
  • 打赏
  • 举报
回复
goonfighting 2009-04-15
  • 打赏
  • 举报
回复
4L的比较好。
cnming 2009-04-15
  • 打赏
  • 举报
回复
你要能否访问到那个窗口,例如获取窗口句柄
龙宜坡 2009-04-15
  • 打赏
  • 举报
回复
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Form frm = null;

private void btnOpen_Click(object sender, EventArgs e)
{
if (frm == null) ;
frm = new Form2();
frm.Show();
}

private void btnClose_Click(object sender, EventArgs e)
{
if (frm != null && frm.Visible)
{
frm.Close();
frm = null;
}
}
}
}


结贴
beargo 2009-04-15
  • 打赏
  • 举报
回复
引用API(user32.dll),先FindWindow得到窗体句柄intptr,然后PostMessage发送关闭代码号到此句柄PostMessage(intptr, 16, 0, 0);
.OK!! 16为关闭代码.


[System.Runtime.InteropServices.DllImport("user32.dll")]
static public extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
fenglm999 2009-04-14
  • 打赏
  • 举报
回复
窗口对象.close方法
llsen 2009-04-14
  • 打赏
  • 举报
回复
获取正在运行的其他窗口的实例
然后关闭

比如main 运行form1.show()
form2.show()

你可以把form1和form2都定义为main的共有属性
所有的地方都可以调用了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧