C#属性,是否有keypress属性?

问题描述:

我从中间Java级别快到了,我想花一些时间今晚学习C#,我基本上是想要做的是沿着(伪代码)线的东西:C#属性,是否有keypress属性?

[KeyPressEvent("KeyPressed")] 
private void KeyPressed(object sender, KeyPressEventArgs args) { 
    if (args.KeyPressed == VK_K) { 
     // Do stuff 
    } 
} 

我的C#白话不但在这个概念上,我并没有完成很多与事件相关的Java项目(或者我相信他们被称为“观察者”)。


编辑

好吧,我明白,我以为属性是是错误的,我认为他们只是另一种方式来订阅事件,但它仅仅是一些由第三方提供我正在使用的框架。所以在这个概念上,我的问题应该是:是否有一个我可以订阅的按键的事件?像KeyEvent += KeyEvent_Pressed;?也许我现在只需提交一个新问题。

+1

没有这样做同样的事情,而不属性这在BCL中具有神奇的属性。尽管可以创建一个*,但我想(例如,它的概念与WebMethod完全没有区别),事件通常应直接注册到适用的事件源。 – user2864740

+1

请考虑从帖子中删除“新的这里”和你的生活故事(至少确定标题)。 –

+0

我把所有东西都修剪下来,喝过量的饮料做得太多了。 –

没有,属性无关的事件,你只需要你的方法注册事件,但属性会做什么,属性,元数据添加到您的代码,他们没有“做”什么,但他们'在那里,以便其他代码可以在运行时读取它们,然后在此基础上做一些事情。

如果你真的想你可以这样的东西自动注册基于属性的事件,但是这只是尽可能多的工作,因为不这样做,或作为具有命名约定

+0

好的,这是我对我正在做的事情解释现有代码的误解。是否有可以注册的事件监控键盘输入? –

+0

是的,但你需要给我们更多的信息,没有“C#”图形用户界面,有很多的用户界面,你在用什么? winform,wpf,webform,mvc?你的项目类型是什么? –

+0

我想从一个游戏窗口监控关键事件,我认为有可能仅仅是因为如果我的程序运行时钩到keyPressed事件的事件,但它不像是这种情况。我可能只需要在监视此事件的第三方实用程序中找到某些内容。 –

C#有没有什么内在关联与属性的事件。也许你正在使用的第三方框架评估属性来自动挂钩事件,但C#语言和微软的UI框架不这样做。

+0

这可能是发生了什么事,我必须学习的现有代码是一切的组合,除了我用SandCastle解析的内容之外,没有第三方框架的文档。有没有我可以注册的事件,但对于按键?就像'KeyPressEvent + = WhatHappens;'? –