当使用jQuery文档中的示例代码来生成keypress事件处理程序时,我无法捕获Delete密钥.在FireFox中按下键0
时,下面的代码段会记录Delete:
$(document).keypress(function(e) {
console.log(e.which);
});
Run Code Online (Sandbox Code Playgroud)
似乎必须有一种方法来捕捉Delete密钥,但这是一个含糊不清的术语,因此谷歌并没有证明对它有很大的帮助.
我实现了以下后台处理线程,其中Jobs
是Queue<T>
:
static void WorkThread()
{
while (working)
{
var job;
lock (Jobs)
{
if (Jobs.Count > 0)
job = Jobs.Dequeue();
}
if (job == null)
{
Thread.Sleep(1);
}
else
{
// [snip]: Process job.
}
}
}
Run Code Online (Sandbox Code Playgroud)
这产生正在进入作业时之间的noticable延迟,当他们实际上开始运行(作业批次在一旦进入,而每个工作只是[比较]小)的延迟是不是一个大问题,但我开始思考这个问题,并做了以下改变:
static ManualResetEvent _workerWait = new ManualResetEvent(false);
// ...
if (job == null)
{
lock (_workerWait)
{
_workerWait.Reset();
}
_workerWait.WaitOne();
}
Run Code Online (Sandbox Code Playgroud)
线程添加作业现在锁定_workerWait
并_workerWait.Set()
在完成添加作业时调用.这个解决方案(貌似)立即开始处理工作,延迟完全消失.
我的问题部分是"为什么会发生这种情况?",被认为Thread.Sleep(int)
可以比你指定的更长时间地睡眠,部分是"如何ManualResetEvent
实现这种性能水平?".
编辑:由于有人询问了排队项目的功能,现在它和目前的完整系统一起.
public void RunTriggers(string data)
{
lock …
Run Code Online (Sandbox Code Playgroud) 我问,因为我注意到很多64位EXE链接到看似32位的DLL.
例如,我的64位MFC应用程序链接user32.dll, urlmon.dll, wininet.dll
- 所有这些都是驻留在windows\system32中的32位DLL.
这是一些适用于这些DLL的MS特定的魔法,还是那些需要使用传统32位DLL的64位EXE的后向兼容性?
尝试使用列表包将源文件包含到我的乳胶文档中,我在代码中的注释中遇到了德语变音符号的问题.运用
\lstset{
extendedchars=\true,
inputencoding=utf8x
}
Run Code Online (Sandbox Code Playgroud)
处理源文件中的变音符号(以无BOM的UTF-8编码),但它们以某种方式移动到它们所包含的单词的开头.所以
// die Größe muss berücksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输入源文件中,变为
// die ößGre muss übercksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输出文件中.
注意:因为我在初始设置中发现错误,所以我大量编辑了这个问题
我目前正在开发需要某种用户身份验证的Silverlight 3应用程序,因为从WCF服务提取的数据是特定于用户的.目标受众是常规互联网 - 因此没有AD可以进行身份验证.
以下是我对这种情况的一些问题:
我们需要在ASP.NET MVC中普遍处理表单上的已更改数据.我们的应用程序有大约100个表单,如果用户开始编辑表单并单击除保存以外的任何内容(例如"您的数据已更改",请单击"确定"返回到表单,或者"取消"以丢失所有表单)变化.").
看起来SO使用JavaScript实现了这个(同时提出问题).一般来说,这是最好的方法吗?另外,有关如何最好地实现这一点的任何提示?
在业余时间,我喜欢用OpenGL ES在iPhone上玩游戏开发.我正在将一个小的2D侧卷轴演示放在一起,以获得乐趣,而且我对OpenGL相对较新,我希望得到一些更有经验的开发人员的建议.
所以这是我的问题:在模型空间中指定每个2D元素的顶点是否有意义,然后在每次绘制帧时将每个元素转换为它的最终视图空间?
例如,假设我有一组块(正方形)构成我的侧卷轴的地面.每个方块定义为:
const GLfloat squareVertices[] = {
-1.0, 1.0, -6.0, // Top left
-1.0, -1.0, -6.0, // Bottom left
1.0, -1.0, -6.0, // Bottom right
1.0, 1.0, -6.0 // Top right
}
Run Code Online (Sandbox Code Playgroud)
假设我需要将这些正方形中的10个作为下一帧的基础绘制在一起.对于当前场景中可见的每个方格,我应该这样做吗?
glPushMatrix();
{
glTranslatef(currentSquareX, currentSquareY, 0.0);
glVertexPointer(3, GL_FLOAT, 0, squareVertices);
glEnableClientState(GL_VERTEX_ARRAY);
// Do the drawing
}
glPopMatrix();
Run Code Online (Sandbox Code Playgroud)
在我看来,这样做对场景中的每个元素的2D,对于每一个帧,变得有点紧张,我会想象谁使用OpenGL比我更聪明的人可能有这样做的更好的方法.
这一切都这样说,我期待听到这个消息,我应该分析代码,看看任何瓶颈可能是:那些人,我说:我没有写此代码的任何然而,我只是在这个过程中把我的思绪缠绕在它周围,这样当我去写它时它会变得更顺畅.
关于剖析和优化的主题,我真的不想在这里过早地进行优化,我只是试图围绕如何设置2D场景并渲染它.就像我说的那样,我对OpenGL相对较新,我只是想了解事情是如何完成的.如果有人对更好的方法有任何建议,我很乐意听到你的想法.
请记住,我对3D不感兴趣,现在只是2D.谢谢!
是否有更好的方法从asp.net mvc中的母版页视图中查找控制器名称?
谢谢achu.
我需要在工作中使用MediaWiki.它曾经没问题,但有了StackOverflow的网站,有一些用户界面问题根本不再做了.
最重要的是,我想在打字时看到实时预览.不需要预览模式.
您使用的是什么?哪个是最近(简单)Web体验的最佳选择?
可以更新MediaWiki以获得更新的UI行为吗?
附录:
两种产品似乎都高于其他产品,都是"开源商业"(=您可以获得免费的瘦版,标准版和企业级以及更多好东西的成本).
为自己判断.我确实在其中一个中找到了我的喜好.:)
我计划使用以下内容向TextBox添加功能:
public class TextBoxExt : TextBox
{
protected override void OnKeyPress(KeyPressEventArgs e)
{
base.OnKeyPress(e);
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我们如何使用这个TextBoxExt?反正有没有把这个类放到ToolBox上,以便我们可以将它拖放到表单上?如果没有,使用TextBoxExt的最佳方法是什么?