草庐IT

my-custom-forms

全部标签

时间:2019-01-18 标签:c#windowsforms: Form Close Event Cancel Button

我有一个Form_Closing事件提示用户文件是否已更改以在对文件进行更改时保存(标准是/否/取消选项)。取消是事情没有按预期进行的地方。如果我选择"file"->“新建”并且存在一个包含更改的现有文件,我会按预期收到提示,当我选择“取消”时会显示新表单而不是停留在当前表单上,我最终会打开两个表单一次。这是MainForm(新建文件)代码:if(editForm!=null){//CloseexistingEditorformeditForm.Close();//OpennewformeditForm=newEditorForm(this);//CloseFormEventsedit

c# - Windows API : Assign Icon of filetype X to my file

我读过iconhandlers,但我不确定如何与他们合作。假设我有一个C#应用程序(或只是一个Windows文件系统对象,例如.LNK文件),我想为其分配图标,当前正在使用的PDF文件(或一个MSWord文件),尽管应用程序本身不是PDF文件。图标是如何分配的/该关联保存在哪里?当使用ResourceHacker等工具时,我可以在应用程序文件中找到图标(当然PDF文件本身没有图标)。在HKCR下的注册表中,我可以找到所有文件类型及其各自的打开器,图标在哪里定义?这归类为多个问题-我最感兴趣的是如何将系统当前分配的文件类型图标(例如PDF)分配给我的应用程序。

c++ - 每次调用sprintf之前如何调用my_function?

sprintf是平台提供的API。我想在使用时过滤某种格式。我的想法是:#includeintmy_sprintf(...){my_filter_function(...);return::sprintf(...);}#definesprintfmy_sprintf然后将这些代码放到pch中。但我仍然担心它无法涵盖所有​​用途,有些在预建库中,并非每个项目都有pch。你还有别的想法吗?谢谢。它在Windows上。 最佳答案 您不能“覆盖”内置函数。此外,使用宏替换其名称会导致您的程序出现未定义的行为。所以,甚至不要试图改变标准库的行

Windows : Have my program run in kernel mode?

我目前正在了解Windows操作系统的不同运行模式(内核模式与用户模式)、设备驱动程序、它们各自的优缺点以及一般的计算机安全性。我想创建一个实际示例,说明在内核模式下运行的故障设备驱动程序会对系统造成什么影响,例如破坏用于关键操作系统进程的内存。如何直接在内核模式而不是用户模式下执行我的代码?我是否必须编写虚拟设备驱动程序并安装它才能执行此操作?在哪里可以阅读有关Windows内核和用户模式的更多信息?我知道这样做的危险,并将在仅运行WindowsXP的虚拟机上进行所有实验 最佳答案 “WindowsInternals”一书对所讨论

C# Windows Form_Closing 问题

当用户单击应用程序右上角的红色“X”按钮时,我似乎很难弹出对话框并正常运行。我可以让对话框看起来是在询问他们是否真的要关闭应用程序,但无论他们点击什么,它都会关闭表单。我的代码如下;privatevoidMain_FormClosing(objectsender,FormClosingEventArgse){DialogResultdr=MessageBox.Show("Areyousurewanttoclose?","CloseProgram",MessageBoxButtons.OKCancel);if(dr==DialogResult.Cancel){e.Cancel=false

具有枚举值的 C# Propertygrid 组合框(Win Forms)

publicenumeVisualType{None=0,Torch=1,Rune01,Rune02,Rune03,FireRed01,LaserBlackWhiteLeft,LaserBlackWhiteRight,LaserBlueRedLeft,LaserBlueRedRight,Wheel01,Wheel01a,Wheel02,BlinkingStar,MovingPillar}publicclassEnumTypeConverter:TypeConverter{publicoverrideboolGetStandardValuesSupported(ITypeDescript

windows - CUDA编程: How to get my Legacy GPU to work with CUDA 7. 5个工具包?

外行在这里尝试学习新东西。光问这个问题太无聊了。如果不想看,直接跳到最后一行。这是故事:信不信由你。我当前的台式机中有一block可以正常工作的GeForce8800GTS,它只是为了工作而不是为了游戏而组合在一起的。当我输入时,它现在使用DVI-to-HDMI电缆连接到我的HDTV。我想得越多,它的作用就越让我惊讶。几天前弹出一条通知,提示我更新GPU的驱动程序。令我惊喜的是,Windows10在2016年仍然支持这一传统作品。干得好NVIDIA。然后我想,“我真的可以和这个child一起做CUDA编程吗?”多年来我一直在不同的主板上使用它,并多次考虑升级它。但我不再玩游戏了,所以我

c# - 标题栏不可点击 Form.TransparencyKey = White

如果我使用WinForm模板创建C#(.NET3.5)应用程序并将Form.TransparencyKey属性设置为白色,则标题栏和关闭、最小化、最大化按钮在运行该应用程序时不起作用,单击它们会导致窗口失去焦点,就像在窗口外单击一样。当鼠标悬停在关闭等上时没有动画。这一直持续到窗口被最小化(窗口上的按钮不起作用所以必须使用winkey+m或通过任务栏完成)然后恢复。在此之后,窗口似乎表现正常。这种行为背后的机制是什么?环境:WindowsVista(Aero)和VS2008。 最佳答案 与TransparencyKey颜色匹配的窗口

c# - 当 DialogResult 为 No 时防止 Form 关闭

我在Windows窗体申请表的关闭事件中使用以下代码:privatevoidMain_FormClosing(objectsender,FormClosingEventArgse){DialogResultdr=MessageBox.Show("Areyousureyouwanttoquit?","LeavingApp",MessageBoxButtons.YesNo,MessageBoxIcon.Question);if(dr==DialogResult.No){return;}elseApplication.Exit();}但问题是,只要用户单击"is",应用程序就会结束,但当用户

windows - InnoSetup 在 Mac Parallels 上安装的 Win XP 上找不到 'My Documents'

我一直在尝试帮助用户安装我们的软件。我们的软件设置是使用InnoSetup分发的,他将它安装在装有Parallels和WindowsXP的MacPro上。安装期间,InnoSetup失败并显示:内部错误:无法扩展shell文件夹常量“userdocs”在InnoSetup中,{userdocs}映射到“我的文档”文件夹,并且由于InnoSetup是用Delphi编写的,我假设它使用CSIDL_Personal或CSIDL_MYDOCUMENTS来检索此文件夹,但我不知道如何修复这些位置。有人遇到过这个吗?如果是这样,您知道如何解决吗?谢谢! 最佳答案