Csharp/C#教程:从WinForms表单显示WPF窗口绝对安全吗?分享


从WinForms表单显示WPF窗口绝对安全吗?

我想从Windows窗体应用程序(.NET 3.5)中显示一个WPF窗口。

此代码似乎在示例项目中没有任何问题:

public partial class WinFormsForm1 : Form { public WinFormsForm1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { WpfWindow1 w = new WpfWindow1(); w.Show(); } } 

表单从Main()作为常规Winforms表单启动:

 Application.Run(new WinFormsForm1()); 

在我看来这太容易成为现实。 这有什么缺点吗? 这样做安全吗?

它有一个严重的缺点:无模式WPF窗口不会得到键盘输入 。

需要在显示WPF窗口之前添加EnableModelessKeyboardInterop方法调用:

  WpfWindow1 w = new WpfWindow1(); System.Windows.Forms.Integration.ElementHost.EnableModelessKeyboardInterop(w); w.Show(); 

ElementHost 驻留在WindowsFormsIntegration.dll中 。

进一步阅读: http : //msdn.microsoft.com/en-us/library/aa348549.aspx

底线:是的。 我们有非常繁重的应用程序结合WPF和winforms:窗口,用户控件,modal dialog,你的免费精选名字大全……它在医疗市场中工作。 我们进入了一些黑暗的角落,一个是臭名昭着的EnableModelessKeyboardInterop,另一个是让WPF窗口成为Winforms窗口的子窗口,你可以在这里阅读

这真的很简单。 我不能想到这样做的任何缺点。

上述就是C#学习教程:从WinForms表单显示WPF窗口绝对安全吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1006095.html

(0)
上一篇 2021年12月28日
下一篇 2021年12月28日

精彩推荐