vb如何实现只有当前窗体被关闭才能操作其他窗体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb如何实现只有当前窗体被关闭才能操作其他窗体相关的知识,希望对你有一定的参考价值。
form1中点击一按钮弹出form2,如何做到只有关闭了form2,才能操作form1
1楼2楼的方法我知道,但是我不是这个意思!
我是要form2像msgbox弹出来那样的效果。3楼的答案只能让form2置顶,但是我仍然能点到form1去,而且能操作form1,只是form2 一直置顶而已。
有谁能解决这个问题 啊??
VB可通过Show方法将参数Staly设置为1以模式窗体显示当前窗体来实现当前窗体被关闭才能操作其他窗体。
Show 方法,用以显示 MDIForm 或 Form 对象。不支持命名参数。
说明
当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form)
时,则随后的代码直到该窗体被隐藏或卸载时才能执行。
当 Show
在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。
Private Sub Command1_Click()
Form2.Show 1
End Sub
很简单吧 你不关闭form2 你去点form1是没效果的 参考技术B 在点击完按钮弹出form2的同时,将form1.hide,在form2_unload 事件里再写入,form1.show
如果不想隐藏, 用form1.Visible =false /True 也行 参考技术C form2代码
Option Explicit
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
然后这个是置顶,打开form2时调用:
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
关闭form2时,用这个取消置顶:
SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
参考资料:http://www.vbssoft.com/post/14.html
参考技术D Private Sub Form_Load()Me.Show
Form2.Show 1
End Sub
你要的应该就是这个东西本回答被提问者采纳
c#如何单击按钮显示另一个窗体
在vs2010中,我想单击form1中的一个button,弹出form2,form2是我设计的另一个页面
怎么操作?如果不能实现,有没有类似能弹出另一页面的方法?
工具/材料:以Microsoft Visual Studio 2010为例。
1、首先点击“Microsoft Visual Studio 2010”图标,打开软件。
2、然后在该界面中,右键点击右侧项目,选择“添加”选项。
3、之后在该界面中,点击“Windows窗体”选项,创建新窗体。
4、接着在该界面中,点击左侧“工具箱”里的“Button”选项,拖到界面里。
5、之后在该界面中,双击“button1”控件。
6、最后在该界面中,写入“Form5 fm = new Form5();fm.ShowDialog();”代码即可。
参考技术A private void button1_Click(object sender, EventArgs e)Form2 f = new Form2();
f.Show(); 本回答被提问者采纳 参考技术B form frm2=new form2();
frm2.show();
我没开程序,大概是这个意思 参考技术C 代码:
protected void ButtonAddNewUser_Click(object sender, EventArgs e)
//在这里加入事件,然后去点击btnDel_Click的时候就会弹出
if (Page.IsPostBack)
btnDel.Attributes.Add("onclick", "return confirm('确定删除?')");
protected void btnDel_Click(object sender, EventArgs e)
//这个事件可以不存在,但是当按下这个按钮的时候就要弹出一个对话框窗口
//所以,我们可以把上面那段事件放于
//放于这个事件中
protected void Page_Load(object sender, EventArgs e)
//在这里加入事件,然后去点击btnDel_Click的时候就会弹出
if (Page.IsPostBack)
btnDel.Attributes.Add("onclick", "return confirm('确定删除?')");
以上是关于vb如何实现只有当前窗体被关闭才能操作其他窗体的主要内容,如果未能解决你的问题,请参考以下文章
在C#编程中如何实现把窗体的自带的关闭按钮隐藏但是最小化不隐藏