草庐IT

winform-SunnyUI

全部标签

c# - 为什么 WinForms 应用程序默认是 STAThread?

当您使用VisualStudio创建一个空的WinForms应用程序时,该模板在主应用程序类中具有STAThread属性。我一直在阅读一些关于它的文档,但我不确定我是否完全理解它。我真的有一些问题:为什么添加这个属性?这是什么意思?如果删除此属性会怎样? 最佳答案 引自anMSDNblog,WhentheSTAThreadAttributeisapplied,itchangestheapartmentstateofthecurrentthreadtobesinglethreaded.Withoutgettingintoahugedi

c# - 为什么 WinForms 应用程序默认是 STAThread?

当您使用VisualStudio创建一个空的WinForms应用程序时,该模板在主应用程序类中具有STAThread属性。我一直在阅读一些关于它的文档,但我不确定我是否完全理解它。我真的有一些问题:为什么添加这个属性?这是什么意思?如果删除此属性会怎样? 最佳答案 引自anMSDNblog,WhentheSTAThreadAttributeisapplied,itchangestheapartmentstateofthecurrentthreadtobesinglethreaded.Withoutgettingintoahugedi

C#(不是 ASP/MVC/WinForms)——捕获类中的所有异常

一些背景信息我在使用专有编程语言的系统中编程,可以选择在专有代码中使用具有特殊属性的.Net类。不幸的是,系统不能很好地处理从.Net代码中冒出的未处理的异常,如果事实上根本没有的话;系统崩溃,没有任何解释。这很烦人,因为我们经常希望在专有系统中处理异常,而不是在.Net代码中。系统供应商提供的解决方案是将异常重新打包为系统确实处理的特殊对象。我们的.Net代码是以façade模式编写的,问题是要确保从.Net代码中冒出的每个异常都得到处理,facade中的每个方法都必须包含一个try/catchblock,用于重新打包任何异常可能发生的异常。问题我在这里阅读了很多描述类似场景的主题,

C#(不是 ASP/MVC/WinForms)——捕获类中的所有异常

一些背景信息我在使用专有编程语言的系统中编程,可以选择在专有代码中使用具有特殊属性的.Net类。不幸的是,系统不能很好地处理从.Net代码中冒出的未处理的异常,如果事实上根本没有的话;系统崩溃,没有任何解释。这很烦人,因为我们经常希望在专有系统中处理异常,而不是在.Net代码中。系统供应商提供的解决方案是将异常重新打包为系统确实处理的特殊对象。我们的.Net代码是以façade模式编写的,问题是要确保从.Net代码中冒出的每个异常都得到处理,facade中的每个方法都必须包含一个try/catchblock,用于重新打包任何异常可能发生的异常。问题我在这里阅读了很多描述类似场景的主题,

c# - 将窗口保持在顶部并在 WinForms 中窃取焦点

我意识到这在正常情况下是完全错误的做法,但这仅适用于需要从条形码扫描仪(模拟键盘)获取输入的测试应用程序。问题是我在扫描时需要启动一些脚本,所以我需要点击脚本运行后窗口直接重新获得焦点。我已经尝试过使用Activate()、BringToFront()、Focus()以及一些Win32调用,如SetForegroundWindow()、Setcapture()和SetActiveWindow()...但是我能让它们中的任何一个做的最好的事情就是让任务栏项目开始闪烁,告诉我它想要获得焦点,但有什么东西阻止了它。顺便说一句,我在XPSP2上运行它并使用.NET2.0。这可能吗?编辑:澄清一

c# - 将窗口保持在顶部并在 WinForms 中窃取焦点

我意识到这在正常情况下是完全错误的做法,但这仅适用于需要从条形码扫描仪(模拟键盘)获取输入的测试应用程序。问题是我在扫描时需要启动一些脚本,所以我需要点击脚本运行后窗口直接重新获得焦点。我已经尝试过使用Activate()、BringToFront()、Focus()以及一些Win32调用,如SetForegroundWindow()、Setcapture()和SetActiveWindow()...但是我能让它们中的任何一个做的最好的事情就是让任务栏项目开始闪烁,告诉我它想要获得焦点,但有什么东西阻止了它。顺便说一句,我在XPSP2上运行它并使用.NET2.0。这可能吗?编辑:澄清一

c# - 从 Winform 显示 pdf 文件

我只是用C#(Windows窗体)创建一个简单的计算器我创建了一个“用户帮助”,它是一个pdf文件,我想要的是在用户单击WinForm中的“帮助”按钮时显示该pdf文件。如果假设用户的机器上预装了Adob​​e阅读器....如何在winForm中点击按钮打开pdf文件?我不打算在用户的硬盘上提供此pdf文件。这意味着我必须将此pdf嵌入到计算器(winForm)中,并且必须在单击按钮时显示它。请指导我在winForm中显示嵌入式文件的最佳实践。 最佳答案 您可以引用Adob​​eReaderActiveX控件并将其与您的应用程序捆绑

c# - 从 Winform 显示 pdf 文件

我只是用C#(Windows窗体)创建一个简单的计算器我创建了一个“用户帮助”,它是一个pdf文件,我想要的是在用户单击WinForm中的“帮助”按钮时显示该pdf文件。如果假设用户的机器上预装了Adob​​e阅读器....如何在winForm中点击按钮打开pdf文件?我不打算在用户的硬盘上提供此pdf文件。这意味着我必须将此pdf嵌入到计算器(winForm)中,并且必须在单击按钮时显示它。请指导我在winForm中显示嵌入式文件的最佳实践。 最佳答案 您可以引用Adob​​eReaderActiveX控件并将其与您的应用程序捆绑

C# winforms 组合框动态自动完成

我的问题与此类似:HowcanIdynamicallychangeautocompleteentriesinaC#comboboxortextbox?但我仍然没有找到解决方案。问题简述:我有一个ComboBox和要在其中显示的大量记录。当用户开始输入时,我想加载以输入文本开头的记录,并为用户提供自动完成功能。如上面的主题所述,我无法将它们加载到сomboBox_TextChanged上,因为我总是会覆盖以前的结果而永远不会看到它们。我可以仅使用ComboBox来实现吗?(不是TextBox或ListBox)我使用这个设置:сomboBox.AutoCompleteMode=AutoCo

C# winforms 组合框动态自动完成

我的问题与此类似:HowcanIdynamicallychangeautocompleteentriesinaC#comboboxortextbox?但我仍然没有找到解决方案。问题简述:我有一个ComboBox和要在其中显示的大量记录。当用户开始输入时,我想加载以输入文本开头的记录,并为用户提供自动完成功能。如上面的主题所述,我无法将它们加载到сomboBox_TextChanged上,因为我总是会覆盖以前的结果而永远不会看到它们。我可以仅使用ComboBox来实现吗?(不是TextBox或ListBox)我使用这个设置:сomboBox.AutoCompleteMode=AutoCo