I can suggest the following solution.
Example
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.NET Example</title>
<script type="text/javascript">
var preventContextMenu = function () {
return false;
};
var setDisabledMenu = function (tabPanel, disabled) {
var tabCloseMenu;
Ext.each(tabPanel.plugins, function (p) {
if (p instanceof Ext.ux.TabCloseMenu) {
tabCloseMenu = p;
}
});
if (disabled) {
tabCloseMenu.createMenu().on("beforeshow", preventContextMenu);
} else {
tabCloseMenu.createMenu().un("beforeshow", preventContextMenu);
}
};
</script>
</head>
<body>
<ext:ResourceManager runat="server" />
<ext:TabPanel ID="TabPanel1" runat="server">
<Items>
<ext:Panel runat="server" Title="Tab" Closable="true" />
</Items>
<Plugins>
<ext:TabCloseMenu runat="server" />
</Plugins>
</ext:TabPanel>
<ext:Button runat="server" Text="Disable">
<Listeners>
<Click Handler="setDisabledMenu(TabPanel1, true);" />
</Listeners>
</ext:Button>
<ext:Button runat="server" Text="Enable">
<Listeners>
<Click Handler="setDisabledMenu(TabPanel1, false);" />
</Listeners>
</ext:Button>
</body>
</html>