小编Ric*_*dle的帖子

如何让ESC键关闭Winforms中的对话框?

这些天使用软件时,ESC键通常会关闭对话框,而不会持续进行任何更改.我喜欢这一点,特别是因为即使对话框上可能有一个取消按钮,我也不一定想要将鼠标或制表符移到取消按钮上.这是一个很好的干净方式,说"哎呀,并不打算这样做!" 到软件.事实上,我发现我对没有实现此功能的软件感到恼火,我无法相信它还没有在Winforms的引擎下完成 - 对我来说似乎很直观......

我已经看过挂钩表格KeyPress事件,或试图模拟"取消"DialogResult等.似乎有很多方法来解决这个问题......

所以问题是:在没有保存任何更改的情况下,最简单的方法是绑定ESC键以关闭对话框?

非常感谢那些有经验的人的帮助!

binding modal-dialog winforms

20
推荐指数
3
解决办法
1万
查看次数

是否有一种简单的方法可以比较2个XDocuments是否相等而忽略了元素/属性顺序?

单元测试我的序列化代码我发现一个失败,因为我有一个不同的顺序列出的属性(我只是比较XDocument.ToString()值),虽然我可以修复它,它对我来说无关紧要的顺序只要元素或属性在正确的层次结构中具有正确的名称,它们就会出现.我可能会写一个方法来做这个,但我想知道是否有一个我不知道的简单内置方式.

c# xml linq-to-xml

19
推荐指数
1
解决办法
9897
查看次数

Javascript中的条件运算符

是否可以像这样的语句使用条件运算符?

(x == y) ? alert("yo!") : alert("meh!");
Run Code Online (Sandbox Code Playgroud)

或者使用它来分配这样的值是否更正确?

z = (x == y) ? "yo!" : "meh!";
Run Code Online (Sandbox Code Playgroud)

如果像声明一样使用它是不正确的,那么可以添加多行代码来执行吗?为多行代码使用ifthen和switch语句更正确吗?

(x == y) ? (alert("yo!"), document.write("woot!")) : (alert("meh!"), document.write("blah!"));
Run Code Online (Sandbox Code Playgroud)

javascript conditional operators conditional-operator

18
推荐指数
1
解决办法
2万
查看次数

Java:获得一个/所有可用监视器(而不是整个桌面)的分辨率?

我有两个不同大小的显示器,使用(我相信)TwinView连接在一起.

我试过了

System.out.println(Toolkit.getDefaultToolkit().getScreenSize());
Run Code Online (Sandbox Code Playgroud)

得到

java.awt.Dimension[width=2960,height=1050]
Run Code Online (Sandbox Code Playgroud)

如果你将两个显示器统计在一起,这是真的.

取而代之的是,我希望能够实现以下目标之一:

  • 获得当前监视器的分辨率
  • 获得主显示器的分辨率

java user-interface swing awt

18
推荐指数
1
解决办法
6157
查看次数

如何在Python 3.x中检查字符串中的新行?

如何检查字符串中的新行?

python3.x有什么类似于java的常规操作,其中direct if (x=='*\n')可以工作吗?

python python-3.x

14
推荐指数
3
解决办法
7万
查看次数

激活/停用virtualenv时,我可以自动更改我的PYTHONPATH吗?

我希望在特定的virtualenv中有一个与平常不同的PYTHONPATH.如何自动设置?我意识到可以破解bin/activate文件,是否有更好/更标准的方法?

python virtualenv

13
推荐指数
1
解决办法
8710
查看次数

为什么我的自定义构建步骤没有在Visual Studio中运行?

我有一个Visual Studio项目,其中包含几个自定义构建步骤,但其中一些只是无法运行.没有错误也没有警告,并且根据构建日志它们正在运行,但它们肯定不是.

(它在2010年之前的Visual Studio版本中都有效,但在Visual Studio 2010及更高版本中出现了问题.)

custom-build-step visual-studio-2010 custom-build visual-studio

12
推荐指数
1
解决办法
5628
查看次数

我可以从Visual Studio立即窗口调用Win32 API吗?

我正在调试一个C++ Win32应用程序,我想从该进程的上下文中调用一个任意的Win32 API,就好像该程序运行了这行代码:

DestroyWindow(0x00021c0e);
Run Code Online (Sandbox Code Playgroud)

但是进入立即窗口会进入:

CXX0017: Error: symbol "DestroyWindow" not found
Run Code Online (Sandbox Code Playgroud)

编辑:使用函数的全名{,,user32.dll}_NtUserDestroyWindow@4,我可以使用立即窗口来了解我的意思,并显示函数的地址:

{,,user32.dll}_NtUserDestroyWindow@4
0x76600454 _NtUserDestroyWindow@4
Run Code Online (Sandbox Code Playgroud)

但当我试图调用它时,会发生这种情况:

{,,user32.dll}_NtUserDestroyWindow@4(0x00021c0e);
CXX0004: Error: syntax error
Run Code Online (Sandbox Code Playgroud)

甚至可以像这样从立即窗口调用C函数,还是我咆哮错误的树?

c c++ debugging winapi visual-studio

11
推荐指数
1
解决办法
3226
查看次数

如何使用导出C++类的DLL进行延迟加载

我有一个DLL one.dll,它使用TwoClasstwo.dllvia 导出的类class __declspec(dllexport).我想one.dll/delayloadtwo.dll,但我得到一个链接错误:

LINK : fatal error LNK1194: cannot delay-load 'two.dll' due to import
of data symbol '"__declspec(dllimport) const TwoClass::`vftable'"
(__imp_??_7TwoClass@@6B@)'; link without /DELAYLOAD:two.dll
Run Code Online (Sandbox Code Playgroud)

这是在发布版本中; 在Debug构建中它可以工作.(我不知道在vtable导出方面Release和Debug之间的区别是什么,我也找不到任何编译器开关或pragma来控制它.)

如何/delayload在发布版本中使用导出类似这样的类的DLL?

c++ windows dll vtable visual-studio

11
推荐指数
1
解决办法
5569
查看次数

Win32,C++:创建弹出窗口而不会窃取焦点

我正在创建一个程序,在某些时间显示一个弹出窗口(就像一些聊天客户端一样),用户可以在其上单击.但是,我不想从当前的应用程序中删除焦点.

我现在这样做的方法是使用带有WS_POPUPWINDOW的HWND并最小化然后恢复窗口.然而,这从当前的应用程序中窃取了焦点.设置前景或隐藏并显示窗口并未使其显示在前景中.我希望能够继续使用HWND,这样我就可以在这个窗口中使用其他元素了,但是我不知道如何在没有窃取焦点的情况下给它前景.

我使用win32和c ++.

c++ windows winapi

10
推荐指数
1
解决办法
7269
查看次数