草庐IT

虚拟键盘组件

全部标签

c# - 唯一标识罗技统一键盘(在 C# 中)

我在C#2010中编写了一个小程序,它可以通过使用部分以下内容制作一组设备来拆分来自不同键盘的输入:--此代码适用于非统一键盘--InputDeviceid;NumberOfKeyboards=id.EnumerateDevices();id=newInputDevice(Handle);id.KeyPressed+=newInputDevice.DeviceEventHandler(m_KeyPressed);privatevoidm_KeyPressed(objectsender,InputDevice.KeyControlEventArgse){lbDescription.Tex

c# - 大型可滚动数据 SL4 的虚拟化性能问题

问题:在可滚动区域显示大量数据会带来糟糕的性能和/或用户体验。尝试过:主要是在ListBox中设置一个DataTemplate以显示填充数据的网格,其中VirtualizationMode设置为Recycle并且在ListBoxiteself上设置了固定高度。类似于下面的示例。ContentControl将引入标准从另一个View格式化填充项的整体布局,其中包含大约20个静态文本block和20个数据绑定(bind)文本block。这很好用,并将初始负载减半。但是,现在的问题是我需要高度不是固定大小的能力,因此它会占用其父项中的可用空间,甚至可以调整大小。感谢@DanFox我发现您必须

c# - 注册 'half-closed' 通用组件

我有两个接口(interface):publicinterfaceIQuery{}publicinterfaceIQueryHandlerwhereTQuery:IQuery{TResultHandle(TQueryq);}IQueryHandler的封闭实现示例:publicclassEventBookingsHandler:IQueryHandler>{privatereadonlyDbContext_context;publicEventBookingsHandler(DbContextcontext){_context=context;}publicIEnumerableHan

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序

这是我的情况:我们正在编写一个必须将MicrosoftKinect坐标转换为键盘和鼠标事件的应用程序。当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理Windows事件的应用程序(例如游戏)时,就会出现问题。我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序? 最佳答案 您需要使用Send

c# - 虚拟扩展方法?

我有一个在客户端应用程序和服务器应用程序中使用的类。在服务器应用程序中,我通过扩展方法向类添加了一些功能。效果很好。现在我想要更多:我的类(B)继承自另一个类(A)。我想将一个虚函数附加到A(比方说Execute()),然后在B中实现该函数。但仅限于在服务器中。Execute()方法需要做一些只能在服务器上做的事情,使用只有服务器知道的类型。有很多类型像B一样从A继承,我想为它们中的每一个实现Execute()。我希望我可以为A添加一个虚拟扩展方法,但这个想法似乎行不通。我正在寻找解决这个问题的最优雅的方法,有或没有扩展方法。 最佳答案

c# - 为什么我不能像在方法上那样在类变量上使用虚拟/覆盖?

在下面的示例中,我可以在inherited类中创建一个virtual方法Show(),然后override它在继承类中。我想用protected类变量prefix做同样的事情,但我得到了错误:Themodifier'virtual'isnotvalidforthisitem但是因为我不能在我的类中将这个变量定义为virtual/override,所以我得到了编译器警告:TestOverride234355.SecondaryTransaction.prefix'hidesinheritedmember'TestOverride234355.Transaction.prefix'.Use

c# - BlankPage 构造函数无法初始化组件

我开始learningXAML然后我将一些代码添加到我的BlankPage应用程序中。突然有一个正在初始化组件的构造函数:publicBlankPage(){this.InitializeComponent();}停止工作。我现在有这个错误:'BlankApplication.BlankPage'doesnotcontainadefinitionfor'InitializeComponent'andnoextensionmethod'InitializeComponent'acceptingafirstargumentoftype'BlankApplication.BlankPage'

c# - 当我的应用程序在后台时监视 C# 中的键盘事件

首先我要声明我对键盘记录没有兴趣。当我的应用程序处于后台时,我需要一种方法来在最基本的级别上监视键盘事件。我不需要知道哪些键,我不需要保存任何数据,我根本不需要或不打算隐藏我的应用程序,我只需要知道什么时候按下键并调用一个方法。我正在寻找最简单的方法来做到这一点,我知道相当多的C#,但没有什么太复杂的,因为我的大部分知识都是自学的。我四处寻找一些合适的方法来做这件事,但没有发现任何有用的方法。我所发现的只是一群人在深度键盘记录器的论坛和源代码上说“不,那是非法的”。如果你们中的任何人能就实现这一目标的方法向我提出建议,我将不胜感激。 最佳答案

c# - 在 Windows 窗体 C# 上查找组件(不是控件)

我知道如何查找和收集Windows窗体中使用的所有控件的列表。像这样:staticpublicvoidFillControls(Controlcontrol,ListAllControls){StringcontrolName="";controlName=control.Name;foreach(Controlcincontrol.Controls){controlName=c.Name;if((control.Controls.Count>0)){AllControls.Add(c);FillControls(c,AllControls);}}}但是,此函数不会检索表单底部的非可视

c# - autofac 中的条件组件注册

是否可以根据其他组件的状态有条件地注册组件?像这样的东西:ContainerBuilder.RegisterConditionally(Func,Func);我发现在autofacV2之前,可以使用“Register().OnlyIf()”结构,这似乎正是我正在寻找的结构。我希望这样的功能有条件地覆盖默认注册。classCommonRegistrations{publicvirtualvoidRegister(ContainderBuilderbuilder){builder.Register(ctx=>LoadSettings()).As().SingleInstance();bui