VB非模态对话框问题

我写了一个VB的小程序实现Excel读写(不要讨论我的程序),请问下我想实现非模态对话框该怎么做?网上说的Dialog.Show和Dialog.Show1等都试过,作用应... 我写了一个VB的小程序实现Excel读写(不要讨论我的程序),请问下我想实现非模态对话框该怎么做?网上说的Dialog.Show 和Dialog.Show 1 等都试过,作用应该是改变ShowModal的值,改成0就是False直接悲剧,调用的是UserFrame。
想问下VB是怎么实现非模态对话框的?还有哪些参数需要调整或者是另一个什么函数。
展开
 我来答
caseyou4ever
推荐于2017-10-06 · TA获得超过456个赞
知道小有建树答主
回答量:583
采纳率:0%
帮助的人:304万
展开全部

1、将你主窗口和Dialog两个窗口的ShowModal属性值都改为false(其实主要是主窗口要改,以防万一,干脆你就将所有的窗口都改了)。

2、再Dialog.Show 0 

 

syx54
2012-07-25 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2751万
展开全部
怎么可能?
比如,添加一个窗体Form2
在Form1里,添加2按钮,
代码如下:
Option Explicit
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Form2.Show vbModal
End Sub

你单击按钮1与2,启动的form2的效果显然是不一样的!!!
注意模式窗口是 vbModal
追问
你这样我没试,我现在的问题是:程序运行后会显示在Excel上,焦点无法指向Excel。我是学C++的,VB在这点上应该和C++是一样的吧。
Show的参数除了1和缺省,vbModal(vbModel——我觉得应该是这个),Modal(Model)和0都试过了,都是卡死。。。雅
追答
我没有理解你的意思?
在VB里,显示窗体的时候,后面加vbModal,才是模式窗口,后面不加任何东西,就是非模式窗口.
非模式窗口,是可以切换焦点的,怎么不能切换到其他应用程序窗口呢?
你在VBA EXCEL里用Dialog对象显示的是模式窗口,这是系统做好的,取法更改.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
quanquan0320
2012-07-25
知道答主
回答量:31
采纳率:0%
帮助的人:24.9万
展开全部
先创建一个窗口,然后窗口名.show就是实现非模态对话框啊,没有什么参数要调整的吧
追问
不行的show后面不加、加0、1、vbModeless、vbModel我都试过了。
仍然无法将焦点指向Excel表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仙昭3
推荐于2016-06-15 · TA获得超过515个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:139万
展开全部
实现对话框是否用模态显示就是用“Show 0(缺省)、Show 1”语句实现的。

使用“模态对话框”与“非模态对话框”的区别是:
程序运行到“模态对话框”时,只有在模态对话框的窗口关闭后才能运行后面的语句。
而使用“非模态对话框”时,不管对话框是否关闭,后面的语句都会接着运行。

你的源程序段没看到,猜想你的UserFrame可能是在对话框后面要调用的,可查一下是不是这个原因。

如果不想用“模态对话框”方式,可把对话框后面的语句通过“对话框”窗口调用。

不知是否对你有用。
追问
现在的问题是焦点根本无法指向Excel,只能在程序上。Show0是直接卡死,Show1和缺省是一样的效果,也不知道是不是哪儿设置有问题。
追答
1)没明白你的意思,你用的是VB还是VBA?
是用VB程序打开EXCEL还是在EXCEL中执行VBA对话框窗体?

2)你的对话框窗口是一个标准的VB窗体还是包括EXCEL控件的窗体?

3)如果用VB打开EXCEL并显示的话,焦点到不到EXCEL上不是对话框窗体模太的问题,而是要用指令实现,记不太清楚了,好像是 exc.application.active.activeWorkbook.Activate还是ActiveWindow.Activate,你试试看。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式