首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

在Office应用中打开WPF窗体并且让窗体显示在Office应用上

在.NET主程序中,我们可以通过创建 ExcelApplication 对象来打开一个Excel应用程序,如果我们想在Excle里面再打开WPF窗口,问题就不那么简单了。...我们可以简单的实例化一个WPF窗体对象然后在Office应用程序的窗体打开这个新的WPF窗体,此时Office应用的窗体就是WPF的宿主窗体。...然后宿主窗体跟Office应用并不是在一个UI线程上,窗体很可能会在宿主窗体后面看不到。...这个时候需要调用Win32函数,将Office应用的窗体设置为WPF窗体的父窗体,这个函数的形式定义如下: [DllImport("user32.dll", SetLastError = true)]...下面方法是一个完整的方法,可以通过反射实例化一个WPF窗体对象,然后设置此WPF窗体对象为Office应用程序的窗体,并正常显示在Office应用程序上。

1.6K50

js控制浏览器新开窗打开页面

2016-07-18 09:07:01 在a标签有一个属性为target,将其值设置为“_blank“,即可新开一个窗口打开页面,那么通过js也可以控制打开新的窗口来开启页面。...我们都知道form表单提交可以刷新页面,同时如果给form表单设置一个target同样也可以达到a标签的效果 form.target="_blank"; form.action="aaa.aspx";...form.submit(); 如上代码,页面中设置一个隐藏的form表单,只不过里面不放置任何东西,提交表单几个跳转到一个新的页面,同时是用一个新的窗口打开。...都是使用js中的window.open有一个缺点就是容易被浏览器屏蔽。本文介绍了js打开新窗口的各种方法。...window.showModelessDialog('/red','','dialogWidth:800px;dialogHeight:300px')">open3 上面说的几种方式浏览器会拦截,下面来说一下如何避开浏览器拦截打开一个新页面的方式

6.5K20

实现iframe父窗体窗体的通信

0.背景介绍 (1)需要在当前的前端项目中,使用iframe嵌套别的站点页面。 (2)当窗体触发了一个事件后,要给父窗体传一个跳转地址的url。...不过要前提是要确保对不同域的页面有修改权限,并且父窗体窗体页面都要同时加载这个MessengerJS。...这里分别是父窗体窗体的代码实现,可直接在浏览器中打开查看效果,其中messenger.js可以在这里下载,放到项目目录下。 父窗体: <!...iframe,要先引入messenger.js,同时初始化messenger到一个统一的项目中,其中第一个参数为自己页面messenger对象的名字,第二个参数为项目名称;然后父窗体要绑定监听消息事件,...窗体也要先引入messenger.js,同时初始化一个messenger到一个统一的项目中,其中第一个参数为自己页面messenger对象的名字,第二个参数为项目名称;然后添加消息对象,告知窗体的window

9.7K771

C# 窗体中调用父窗体中的方法(或多窗体之间方法调用)

”与“Chilid窗体”之间如何相互的调用方法。...C# 窗体中调用父窗体中的方法(或多窗体之间方法调用) 看似一个简单的功能需求,其实很多初学者处理不好的,很多朋友会这么写: C# Code: //父窗体是是frmParent,窗体是frmChildA...//在父窗体打开窗体 frmChildA child = new frmChildA(); child.MdiParent = this; child.Show(); //窗体调父窗体方法...假设我们的项目不断在扩展,需要将父窗体窗体分开在不同的模块,这段代码就完了!因为父窗体模块必须引用窗体模块,而窗体需要用到frmParent的类,又要引用父窗体的模块!...InitializeComponent();    } private void form1ToolStripMenuItem_Click(object sender, EventArgs e)    { //打开窗体

8.1K20

保证相同类型的MDI窗体只会被打开一次的方法

本文转载:http://www.cnblogs.com/Ricky81317/archive/2008/09/17/1292443.html 看到论坛中有朋友问,如何可以保证在MDI主窗体中,同一类型的窗体只能打开一次...,再打开只是将原来打开窗体激活。...我实现的基本思路是: 一般每个子窗体都是继承自Form类型,不同窗体分别代表不同的功能,因此只需要判断当前MDI打开窗体的类型中有没有当前需要打开窗体类型就行了,如果有,则直接激活,如果没有则创建一个并加到主窗体中...具体实现起来有很多种办法,这里只写出一个利用泛型的实现: /// /// 打开MDI窗口并附加到MDI主窗口中,如果MDI主窗口中已经存在相同类型的窗口,则直接激活 /// </...比如你想单击About菜单项,打开一个AboutForm类型的窗体,那么就: OpenUniqueMDIChildWindow(this) 看代码的话,你会发现,如果About窗体已经被打开过的话

98610

C# WPF MVVM模式下在主窗体显示窗体并获取结果

01 — 前言 在winform中打开一个新的窗体很简单,直接实例化窗体并show一下就可以: Form2 f2 = new Form2(); f2.Show(); 或者 Form2...所以正常是通过调用框架下得WindowManager接口,在window后台代码中通过WindowManager注册需要弹出的窗体类型,在ViewModel通过WindowManager的Show或ShowDialog...02 — ShowDialog用法实现 首先实例化新的窗体SubShowWindowViewModel ,然后通过CM框架的ioc容器获取IWindowManager接口,通过接口的ShowDialog...调出窗体,ControlTestStr 用来显示窗体的赋值并在界面显示。...ControlTestStr = subShowWindowViewModel.SubShowWindowStr; } } } 03 — 结果演示 ControlTestStr 获取到了新窗体的赋值并显示到了界面

1.7K10

Confluence 7 删除页面页面

在一些 Confluence 的页面中,一般来说,你可以选定一个页面中,然后选择页面上面的删除。 如果你的页面中还有页面的话,Confluence 会提示你是否删除页面。...可以在这里选择后删除页面。 需要注意的是,如果你不选择这个选项,那么 Confluence 将不会删除这个页面下面的所有页面。 那么这样操作会产生什么问题呢?...可能的问题 如果不选择删除页面,Confluence 将会只删除当前页面,所有的页面将会被提升到对上面一级目录中。 并且所有页面的顺序 和层级结构都会被打乱。...如果你还需要按照层级结构来的话,那么你需要重新调整,如果页面不多还好。如果页面比较多的话,这个工作量非常大。 建议在删除之前,先调整好页面顺序和层级结构,然后再删除,以避免这个问题。

1.3K00
领券