> 信息中心 >

用WPF写了个用户控件,现在把控件集成在winform当中演示,winform无法捕获键盘事件

来源:互联网 编辑:杨美丽

有网友碰到过这样的问题:用WPF写了个用户控件,现在把控件集成在winform当中演示,winform无法捕获键盘事件,问题详细内容为:

winform已经设置KeyPreview为true,在winform窗体为空白,无任何控件的情况下,可以捕获Form1_KeyPress等事件,但引用了wpf控件,就取不到了,wpf控件那边也没有什么特别的地方

XAML如下

<UserControl x:Class="WPFImage.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WPFImage"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300"
>
<Grid IsManipulationEnabled="True" Background="Transparent">
<Image Name="imgTest" />
</Grid>
</UserControl>

请问怎么才能捕获Form1_KeyPress事件呢

,我搜你通过互联网收集了相关的一些解决方案,希望对有过相同或者相似问题的网友提供帮助,具体如下:

解决方案1:
检查WPF是否取得焦点,这样Winform是无法触发事件的;强制让Winform获取按键焦点。
考虑在WPF的按键事件中添加“e.Handled = false;”,以让按键事件继续传递。 收获园豆:10
============================================
如果在WPF控件中添加一个TextBox,在这个TextBox按键的话,主窗体可以收到消息,怎么才能在这个Image当中处理按键消息呢,因为现在演示主要功能就是图片相关的处理,没有其它控件
============================================
@duxer:
在UserControl的Loaded事件处理函数中添加一句:imgTest.Focus();
并且设置Image属性:Focusable="True"
对于所有默认无法获得焦点的控件都适用。
============================================
@楚人Leo: 可以了,谢谢
============================================
@duxer: 不客气

请问如何在c#中用WPF调用Winform变写的用户控件,...

答:把自定义控件编译成DLL,然后添加引用

wpf中调用winform用户控件的方法

答:WPF的MainWindow的代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using S...

WPF怎么使用winform的自定义控件

答:Geomam.UserControl1 xx = new Geomam.UserControl1(); System.Windows.Forms.Integration.WindowsFormsHost host = new System.Windows.Forms.Integration.WindowsFormsHost(); host.Child = xx; this.MStackPanel.Children.Add(host);

wpf用户控件如何用winform的Resources

答:可以互用,用winfromhost,可以访问到winfromhost里面的控件和数据源还有资源。不过你要注意一些技巧。拖到界面上的控件是访问不了的,因为是internal。

如何在WPF中嵌入Winform控件

答:1. 新建一个基于.Net Framework 3.5 的WPF 应用程序项目:WPFWMP。 2. 在工程中新建Windows Forms Control Library 项目:WMPControlLibrary。 创建WMP 控件 下面要在WMPControlLibrary 中创建Windows Media Player 控件,在项目中加入Windows M...

一个WPF项目、一个Winform下的写的usercontrol,想...

答:请参看WPF与WinForm互操作,WPF使用WinForm控件需要使用WindownsFormsHost元素

winform与WPF有什么区别

答:从程序上讲,都以事件的形式调用处理。 winform开发上比WPF稍容易点,但整体上说其实没多大区别。 WPF基于directX,所以对于3D的处理更好,画面也更加酷炫。 winform的画面设计采用与开发语言相同的语言实现,并保存在相同的代码类型文件中,移...

winform,wpf 是干什么的???

答:winform和WPF都是C#环境下的开发框架,同时也都是是窗体程序,窗体就是像对话框这种,如QQ,在windows下使用的软件基本都是用winform和WPF开发的。WPF相对于winform来说,使设计界面更简单,美观,但是在性能上可能会差一点,整体来说要比winform...

关于WinForm绑定WPF用户控件的属性问题。

答:解决方法肯定是有的,但你上面说“调用他的winform里”是怎么回事,你这还是混合平台的吗?

wpf里窗体嵌入winform控件被覆盖问题

答:Send to back。 不过毕竟不是相同的渲染层,如果真的被覆盖到了也没办法。

IE9双击标签页关闭当前选项卡的工具

触发选项卡被双击的事件。 2、发送Ctrl+W键盘消息,触发快捷键功能关闭当前选项卡页... 把它集成到BHO中时,却遇到了一个问题——当IE开启了保护模式时,是无法...


请注意,本站信息均收集自互联网,相关信息仅供参考,医疗等重要信息请以正规途径为最终意见,本站不承担任何责任!

www.wosoni.com false 互联网 http://www.wosoni.com/blogcnk/mm/ccdfdh.html report 3378 解决方案1:检查WPF是否取得焦点,这样Winform是无法触发事件的;强制让Winform获取按键焦点。考虑在WPF的按键事件中添加“e.Handled = false;”,以让按键事件继续传递。收获园豆:10============================================如果在WPF控件中添加一个TextBox,在这个TextBox按键的话,主窗体可以收到消息,怎么才能在这个Image当中处理按键消息呢,因为现在演示主要功能就是图片相关的处理,没有其它控

热门图片