最近工作要做一个跟ArcGIS一样的识别窗体,发现该窗体不需要关闭就可以进行主窗体的操作,搜寻诸多材料(多是MFC窗体中的),才知道是使用非模态窗体制作出来的。在Winform中模态窗体和非模态窗体的使用在于调用的方法不同。
模态窗体:ShowDialog()方法,非模态窗体使用:Show()方法。
区别:
模态窗体利用show方法设置好了,确实可以实现与主窗体的交互,但是如果再次触发调用非模态窗体事件,则非模态窗体依旧弹出,也就是有多个窗体,所以我们需要判断该窗体是否已经存在,如果存在就不要在调用窗体show事件。
例如:利用vs添加两个窗体,Form2中放一个文本框,Form1中放

本文介绍了如何在Winform中创建非模态窗体,以实现类似ArcGIS的识别窗体效果。非模态窗体通过Show()方法调用,允许用户在显示时同时操作主窗体。与模态窗体(使用ShowDialog()方法)的区别在于,非模态窗体不会阻止用户对其他窗体的操作。在实现过程中,需要注意避免多次调用导致的多个非模态窗体并存问题,可以通过检查窗体是否存在来控制。
最低0.47元/天 解锁文章
1514

被折叠的 条评论
为什么被折叠?



