如何让extjs MessageBox 一直显示在最顶层,先谢过了。我只有21分了。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让extjs MessageBox 一直显示在最顶层,先谢过了。我只有21分了。相关的知识,希望对你有一定的参考价值。

参考技术A 两种方法。
第一:MessageBox的时候就先遮住Body,然后直接弹框.show();
第二:获取最上面的UI,然后弹框.show();
参考技术B 你指的最顶层是 所有控件的最上面 还是离留言器上面的距离最近呀。 参考技术C 有个属性modal设为true你试试,就是把后面的页面覆盖住 参考技术D string message = "你确定要删除吗?";
string caption = "新闻删除";
MessageBoxButtons buttons = MessageBoxButtons.YesNo;
DialogResult result;
result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Question);
if (result == DialogResult.Yes)



点击几次就会出现在前面了。

ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法转

ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法
本文由发表于5年前 | Javascript | 暂无评论 |  被围观 14,752 views+

一、如何让ExtJS的弹出提示信息框Ext.MessageBox或者创建的Ext.Window显示在最前面:

下面是显示一个Window的JS代码:

var formPanel = MisTab1.createAddFormPanel();
var addWin = new Ext.Window({  
    title: "添加产品类别", 
    pageX: 50,
    pageY: 50,
    width: 600,  
    height: 200,  
    plain: true, 
    resizable: false,  	    
    collapsible: true,   
    closeAction: ‘close‘,  
    closable: true,
    modal: ‘true‘,  
    buttonAlign: "center",
    bodyStyle: "padding:20px 0 0 0",
    alwaysOnTop: true,
    items: [formPanel],  
    buttons: [{  
           text: "添 加",  
           minWidth: 70,  
           handler: function() {                
           }  
       }, {  
           text: "关 闭",  
           minWidth: 70,  
           handler: function() { 
           }  
       }]    
});	
addWin.show();

效果如图:

技术分享

想要让Window显示在最前面,只要创建一个WindowGroup管理创建的Window即可,需要添加的代码如下:

var tab1GroupMgr = new Ext.WindowGroup();  
//前置窗口
tab1GroupMgr.zseed=99999;  

var addWin = new Ext.Window({  
    title: "添加产品类别", 
    pageX: 50,
    pageY: 50,
    width: 600,  
    height: 200,  
    plain: true,
    manager: tab1GroupMgr,
...

技术分享

二、ExtJS弹出提示信息框Ext.MessageBox或者创建的Ext.Window被Ext.TabPanel覆盖的解决方法

出现这种原因可能是因为TabPanel设置了floating:true配置项。

floating : Boolean
True表示为浮动此面板(带有自动填充和投影的绝对定位),false...
True表示为浮动此面板(带有自动填充和投影的绝对定位),false表示为在其渲染的位置"就近"显示(默认为false)。True to float this Panel (absolute position it with automatic shimming and shadow), false to display it inline where it is rendered (defaults to false).

解决方法就是把设置的floationg:true配置项去掉:

var tabPanel = new Ext.TabPanel({
	region: ‘center‘,
	activeTab:0,
	shadow: true,
	floating: true,    //去掉该配置项
	items: [{
		title: ‘欢迎页面‘
	}]
});
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/extjs-form-to-be-displayed-on-the-front-cover-and-solve-ext-messagebox-boxes-are-covered-by-the-method-tabpanel.html
关键字: 
技术分享
arthinking指弹吉他 && 技术more

 

以上是关于如何让extjs MessageBox 一直显示在最顶层,先谢过了。我只有21分了。的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4.2.1 中 Ext.MessageBox.show(),如何解决显示不完整的问题??

extjs的Ext.MessageBox.prompt可以把那文本框变为密文显示吗

Winform在线程中怎么让MessageBox显示置顶

ExtJS MessageBox 不会像 alert(..) 那样阻塞

extjs如何使用

ExtJS 4 或 4.1 MessageBox 自定义按钮