> 信息中心 >

用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);

winform与WPF有什么区别

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

如何在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项目的,只能重新做。 但在WinForm中是可以使用WPF中的控件(或者由WPF创建的自定义控件) 1.新建一个winform项目; 2.在解决方案上新建一个wpf项目; 如图: 如果有如下错误,就在winform中的引用添加System.xam...

wpf还是winform

答:WPF与WinForm开发的区别: WPF开发于WinForm之后,从技术发展的角度,WPF比WinForm先进是不容置疑的。WPF相比于WinForm有下面的一些较好的特性: 1、解决Window Handle问题 在Windows GDI或WinForm开发中复杂的GUI应用程序,会使用的大量的控件...

做一个winform项目,想使用WPF中的一些控件,结果...

答:添加引用WindowsFormsIntegration.dll

如何在WPF中嵌入Winform控件

答:当时把WPF的控件canvas的handle传给C++的项目去刷新图像的时候发现最后刷新的是整个WPF页面而不是控件所在的区域,还不知道有什么办法可以解决。 不过可以在WPF中嵌入WINFORM的图像控件PictureBox去做刷新。 嵌入方法: 1.在项目的References中...

C# Winform 控件或窗体失去焦点时,获取键盘输入数据(我用win...

全局键盘钩子,如下,你再把键盘钩子的数据弄到textbox就可以了。 using System; using ... { /// <summary> /// 这个类可以让你得到一个在运行中程序的所有键盘事件 /// 并且...

c#winform 用户控件的制作及在winform中的使用?

下面是添加用户控件下面是在winform中的使用,你建立完成后在设计时会刷出来的:

C# winform中自定义的用户控件 如何响应Key事件 键盘事件,我...

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { switch (keyData) { case Keys.Control | Keys.C: .......... break; } return base.ProcessCmdK...

关于winform 用户控件的问题,如何自定义事件,重写onafterselec...

可以写自定义控件的构造函数, 构造函数供 传入一个实体类数组,然后 在加载控件事件中写代码,将实体类数组的内容写到节点上。

C# 双击控件,显示该控件的值. winform里,比如一个button,双击事...

Button b=sender as Button; if(b!=null){ //记录弹出信息 string msg=""; //记录name msg=b.Name; //记录Text msg=b.Text; }

winform怎么获取用户控件中的子控件的值

你在用户控件类中增加一个公用调用接口就可以!如:    public partial...        }     } 在Winform调...

winform 用户控件A调用户控件B的方法(急)

其实很简单...在增加窗体里面声明个事件 public delegate void GetDataList(); public ... { OnGetMainFormDataList();//调用主窗体的函数 } } } 在主窗体创建用户控件时. ...

winform怎么获取用户控件中的子控件的值

你在用户控件类中增加一个公用调用接口就可以!如: public partial class UserControl1 : ... } set { dateTimePicker1.Value = value; } } } 在Winform调用可以采用userContro...

wpf用户控件如何用winform的Resources

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

WPF的用户控件怎么访问主窗体的函数和控件

public void setok(){ ...} 在winform 里我记得可以这样去访问主窗体的函数: var frm = this.... as frmMain; frm.setok(); ------解决方案-------------------------------------------------------- WPF 里...


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

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

热门图片