如何在使用Windows窗体应用程序时将鼠标光标更改为自定义的光标?

在UserControl我想将鼠标光标从箭头改为手形图标。 我目前做的是这样的: this.Cursor = Cursors.Hand; 这是非常好的,它给了我一个像这样的鼠标光标: 但是这里出现了我的问题…这显示了一个用手指指着的手。 我需要的是一个“抓”的手,更像这个: 我该怎么做?如何加载图标文件(.ico),光标文件(.cur)或图像文件(.png),并将其用作鼠标光标?

部分class级的“文本秩序”是否正式定义?

具体来说,关于字段初始值设定项(在这种情况下,是静态的) – ECMA 334中的§17.11: 如果一个类包含任何具有初始值设定项的静态字段,那么在执行静态构造函数之前,这些初始值设定项将按照文本顺序执行。 现在,如果我们在单独的文件中有多个partial类,那么这个顺序是在哪里确定的? 我的直觉说:“没有正式定义,但可能涉及到csproj中包含的顺序,或csc注明的顺序”。 它是否正确? (是的,我意识到最好避免模糊 – 可能通过将所有的初始化移动到静态构造函数)。 例如,如果我有a.cs : using System; partial class Program { private static int Foo = Write("Foo"); static int Write(string name) { Console.WriteLine(name); return 0; } static void Main() { Console.WriteLine("[press any key]"); Console.ReadLine(); } } 和b.cs : partial class Program { private static int Bar = […]

如何使用XHR onProgress函数使用压缩/ gzip压缩的内容?

我曾经见过一堆类似的问题,但是我还没有find一个完全描述我当前问题的问题,所以这里是: 我有一个页面,通过AJAX加载一个大(0.5到10 MB)的JSON文档,以便客户端代码可以处理它。 一旦文件加载,我没有任何问题,我不指望。 但是,下载需要很长时间,所以我尝试利用XHR Progress API来呈现进度条,以向用户指示文档正在加载。 这工作得很好。 然后,为了加快速度,我尝试通过gzip和deflate压缩服务器端的输出。 这也有很大的收获,但是,我的进度条停止了工作。 我查了一下问题,发现如果一个正确的Content-Length头没有被请求的AJAX资源发送, onProgress事件处理程序不能按预期工作,因为它不知道下载有多远它是。 发生这种情况时,名为lengthComputable的属性在事件对象上设置为false 。 这是有道理的,所以我试图明确地设置输出的未压缩和压缩的长度。 我可以validation头文件正在发送,我可以validation我的浏览器知道如何解压缩内容。 但是onProgress处理程序仍然报告lengthComputable = false 。 所以我的问题是: 有没有办法使用AJAX Progress API来压缩/缩小内容? 如果是的话,我现在做错了什么? Chromenetworking面板中显示资源的方式如下: 这些是相关的请求标头,显示请求是AJAX, Accept-Encoding设置正确: GET /dashboard/reports/ajax/load HTTP/1.1 Connection: keep-alive Cache-Control: no-cache Pragma: no-cache Accept: application/json, text/javascript, */*; q=0.01 X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.22 (KHTML, like […]

从浏览器上传多个文件的最佳方法

我正在开发一个Web应用程序。 有一个地方,用户可以用HTTP协议上传文件。 在经典的HTMLfile upload控制和Java applet之间有一个上传文件的select。 经典的HTMLfile upload并不是很好,因为一次只能select一个文件,在实际上传过程中很难得到任何进度指示(我终于用定时器刷新了一个进度指示器,服务器通过AJAX调用)。 好处:它总是工作。 使用Java小程序,我可以做更多的事情:一次select多个文件(即使是一个文件夹),压缩文件,得到一个真正的进度条,拖动小程序上的文件,等等… 但是有一些缺点: 让它在Mac Safari和Mac Firefox上正常工作是一场噩梦(Thanks Liveconnect) 用户界面不完全是原生用户界面,有些人注意到了这一点 这个小程序并不像应该那样快速响应(可能是我的错,但是对我来说,一切看起来都不错) 使用HTTPS的Java UrlConnection类中存在错误,所以我使用Apache通用HTTP客户端来进行实际的HTTP上传。 这是一个非常大的包,并减缓了.jar文件的下载速度 Apache常见的HTTP客户端有时会经历代理服务器的麻烦 Java运行时相当大 我一直在维护这个Java小程序一段时间,但现在我厌倦了所有的缺点,并考虑编写/购买一个全新的组件来上传这些文件。 题 如果您有以下要求: 通过HTTP或HTTPS轻松地从浏览器上传多个文件 压缩文件以减less上传时间 上传应该可以在任何平台上使用本地用户界面 必须能够上传大文件,至less2GB 你有技术上的全权委托 你会用什么技术/组件? 编辑: 在组件上拖放文件将是一个很大的优点。 看起来好像有很多与Flash Player的bug有关的问题( swfupload已知问题 )。 正确的Mac支持和通过代理上传身份validation是我不能没有的选项。 这可能会排除所有基于Flash的选项:-(。 我排除了所有HTML / Javascript-only选项,因为您不能一次select多个文件并使用经典的HTML控件。 当您想要select文件夹中的多个文件时,点击n次“浏览”button是一种痛苦。

我应该如何使用Rails 3.0创build一个REST API?

我似乎无法在Web上find有关在Rails中构buildREST API的不同方法的更多信息; 所以我有两个问题: 有人能指点我一些文章,显示不同的方法的优点/缺点? 请您分享您对以下方法的利弊的看法? build议的方法 当用户将.xml添加到URL的末尾时,使用标准控制器返回XML 优点: 这是内置到Rails和非常容易使用 遵循与Rails相同的基于资源的方法,因此现有用户很容易理解/记忆 缺点: API不是干净地与主站点分开,难以维护 人们可能会认为,添加.xml将在没有的地方工作 使用名称空间路由来创build单独的API控制器,只处理API函数,但仍然可以访问网站使用的相同模型 优点: API大多是分开的 仍然使用资源完全控制器 缺点: url的格式为site.com/api/resource.xml,这可能会使人们认为所有资源都可用 API仍然是网站代码/项目的一部分; 因此难以维护 使用路由转发和约束将所有API调用转发到Rack应用程序 优点: API是完全分离的 如果我们不想要的话,不需要使用资源丰富的样式 URL清楚地表明它是一个API,你应该检查文档以查看可用的内容(至less,我的思维是这样工作的;我假定其他开发人员的头脑也是这样) 缺点: 更难使用网站代码中的模型 作为一个单独的项目更容易维护,但这意味着更难与现有网站集成 必须保持代码库同步,因为模型可能会改变网站function/错误修复

最新的GLSL教程?

对于HSL转换,我已经有了相当不错的着色器,但是它都是用老派的GLSL编写的,而且从我看到的很多东西中,它在较新版本的OpenGL中已经被弃用了。 但是我发现很难find关于如何更新着色器代码的信息。 所有非常好的OpenGL教程似乎都是针对老派的GL技术。 有谁知道在哪里可以find如何编写现代GLSL教程? 如果它解释如何更新较旧的着色器脚本,则为奖励点。

为什么要使用urlencode?

我正在写一个Web应用程序,并学习如何urlencode的HTML链接… 所有的urlencode问题在这里(见下面的标签)是“如何…? 的问题。 我的问题不是“如何?” 但为什么?”。 即使是维基百科的文章也只涉及它的机制: http://en.wikipedia.org/wiki/Urlencode,但不是为什么我应该在我的应用程序中使用urlencode。 使用(或不使用)urlencode的安全含义是什么? 如何使用urlencode失败被利用 ? 什么样的错误或失败可以出现与未编码的url? 我问,因为即使没有urlencode,一个链接到我的应用程序开发网站,如下面的预期工作: http://myapp/my%20test/ée/ràé 为什么要使用urlencode? 或者另一种说法: 什么时候应该使用urlencode? 在什么样的情况下?

设置overflow-x:hidden添加一个垂直滚动条

当我指定overflow-x: hidden在水平和垂直溢出的元素上时,除了隐藏水平溢出的内容之外,元素还获得垂直滚动条。 我已经尝试添加overflow-y: visible ,甚至只是overflow: visible ,没有任何效果。 我误解了这些属性呢? 我认为overflow-x应该不会影响垂直溢出。 这发生在我试过的每个浏览器上。 这是一个演示效果的片段。 我正在使用<pre>标记,因为它们是创build溢出内容的简单方法,但似乎会发生任何标记。 pre { height: 40px; width: 150px; margin-bottom: 50px; /* We need this so they don't overlap. */ } #x-hidden { overflow-x: hidden; } #y-visible { overflow-x: hidden; overflow-y: visible; } #visible { overflow: visible; overflow-x: hidden; } <pre> Lorem ipsum dolor sit amet, […]

如何旋转他们自己的中心周围的子视图?

是否可以围绕自己的中心旋转视图? 在我现在的实现中,子视图(button等)似乎沿着有趣的path移动,直到它们到达期望的位置(因为超级视图的坐标系被旋转)。 如下图所示,我希望这些意见能围绕自己的中心旋转90度。

我的程序被avast反病毒拦截

我是一个业余程序员,因为一个大问题而变得绝望和疯狂:我的大多数程序都被avast反病毒拦截,有些则不是,我不明白为什么。 我试图调查得越多,我就越不了解问题所在。 我请求你的帮助,find一个解决scheme,以便我的程序不再被阻止,或者,作为默认,至less有一些强大的线索,可以解释为什么可能是这种情况。 网上已经有很多关于这个话题的话题了。 然而,他们大多只给出一些表面的答案:他们只是解释了反病毒如何与签名和检测启发式一起工作,或者说你只需要在白名单中添加违规应用程序而不询问任何其他问题。 虽然这当然是正确的,但我觉得这是不可接受的答案,因为我仍然留下自己的程序,拒绝工作,没有任何具体的想法开始调查。 首先,阻止我的程序唯一的反病毒是avast 7.x. 没有其他反病毒看到任何不方便运行我的软件。 其次,我自己并没有死心塌地; 它安装在朋友的机器上。 我有Windows 7,他有Windows XP。 我完全确定问题只是avast:当它暂时被禁用,或者如果程序被添加到它的白名单,一切都很好地按预期工作。 三个不同的scheme陷入困境: 一个文本编辑器,旨在取代Windows记事本,同时保持简单,高效和可定制 一个小的业余audio播放器使用非常简单 一个在线游戏平台的客户端程序,目前拥有超过1000个用户 第一个是开源的,如果需要,我可以给出一个可执行文件和源代码的链接。 另外两个是封闭的源码,但可以自由使用,我只能给出一个链接到当前版本的可执行文件。 这三个程序之间唯一明显的共同点就是我作为一个开发人员,编译它们的Windows 7机器,MinGW / GCC编译器系列,它们都是没有任何框架的win32 GUI应用程序(没有MFC,没有WPF,没有QT,WXWidgets或其他;只是纯粹的Win32 / C GUI应用程序) 这是我的观察,虽然到目前为止: 我的文本编辑器的版本1.1,1.2.1和1.3被阻止。 它们是C而不是C ++,已经在unicode模式下用GCC 3.4.5编译,并分布在可移植的zip文件中(通过便携式,我只是表示没有安装程序,也不需要安装) 相同文本编辑器的版本1.4.1不会被阻止。 它已经用GCC 4.7.2编译,仍然在C而不是C ++,仍然在unicode模式下,仍然是一个可移植的zip文件 我的audio播放器的所有版本都被阻止; 他们是在C ++中启用了0xfunction,已经由ANSI模式的GCC 4.7.2编译,分发在可移植的zip文件中 我的游戏1.7.2的当前版本没有被封锁。 它在C中,已经在ANSI模式下用GCC 3.4.5编译,并作为inno-setup 5安装程序分发。 我的游戏的新版本,2.0.0,目前是一个私人testing版,被封锁。 它在C ++中启用了0xfunction,已经在unicode模式下用GCC 4.7.2编译。 我将其与我的私人testing团队分享为私人保pipe箱文件夹中的zip文件 问题是由avast 7.x自动沙箱造成的。 当您尝试启动avast不喜欢的程序时,会发生以下情况: 用户双击或在可执行文件上input […]