草庐IT

winforms-interop

全部标签

c# - 当 requestedExecutionLevel 设置为 "requireAdministrator"时,windows 8 winform 不会自动启动

我创建了一个winform应用程序。我的程序需要管理员权限才能运行,所以我添加了具有以下权限的app.manifest文件:我将程序添加到Windows8自动启动,因此它应该自动启动。当我将app.manifest更改为以下行时,它会在Windows启动时成功加载。我怎样才能用windows启动我的程序并仍然保持其管理员权限?谢谢,什洛米 最佳答案 要么将需要高权限的功能分离出来,放到一个WindowsService中(可以设置服务器启动的账号,也可以默认为SYSTEM账号)。或者使用计划任务启动您的应用程序(在这里您还可以选择您的

c# - 将 winform 应用程序灰色化,打开的对话框除外

我想将我的winform应用“变灰”,除了当前打开的对话框,这可能吗? 最佳答案 您应该使用ShowDialog()而不是Show()。这将禁用除新窗口之外的所有其他窗口。要在视觉上“变灰”,您必须手动设置form.Enabled=false;并在对话框关闭后恢复它(这并不难,因为ShowDialog()是一个阻塞调用)。 关于c#-将winform应用程序灰色化,打开的对话框除外,我们在StackOverflow上找到一个类似的问题: https://sta

asp.net - 使用 Interop 生成 `docx` 在终止 RDC 时不起作用

我有一个ASP.Net框架Web应用程序,它试图从发票创建.docx(或.pdf)文件。在我的本地机器上,在开发环境中,代码可以正常工作。但在生产服务器中,我遇到了一个问题,即访问IIS_Users以访问“MicrosoftWord97-2003文档”。我通过实现以下问题的已接受答案来解决该问题。AccessingOfficeWordobjectmodelthroughasp.net但是现在,当我关闭远程桌面连接并尝试从网站获取文件时,我从服务器收到错误500,当再次远程连接到服务器时,我可以下载文件并且我的代码在生产服务器上运行良好。换句话说,当RDP断开连接时,IIS无法访问“Mi

windows - 如何在 winforms 中重新绑定(bind)组合框?

我有一个Winforms应用程序和一个组合框,在加载表单时将其数据源设置为DataTable。数据在组合框中显示良好。然后在用户单击按钮后,我想创建一个新的数据表并将该数据表指定为组合框的数据源。问题是在将数据源设置为新数据表后,组合框中的项目不会改变。这是我正在使用的代码。dlCustomer.DataSource=NothingdlCustomer.DataSource=dtCustomersdlCustomer.DisplayMember="Name"dlCustomer.Refresh()有谁知道如何在我第二次为其分配数据源时在组合框中显示正确的数据?

.NET/WinForms : maximize a window on a specific screen

我有一个双显示器设置,我希望我的C#应用程序在特定屏幕上最大化其窗口。我该怎么做?谢谢! 最佳答案 这是我的一个项目中类似范围的屏幕管理代码://screenIdinmycaseis1(first)or2(second)intscreenId=RegistryManager.ScreenId;//DualScreenmanagementif(screenId>0){//Have2screensif(System.Windows.Forms.Screen.AllScreens.Length==2){if(screenId==1)//f

c# - 如何从 WinForms 应用程序控制新进程窗口的大小和位置?

我的WinForms应用程序使用Process.Start()在其native应用程序中打开文件。我想将屏幕分成两半,在一半上显示我的WinForms应用程序,在另一半上显示新进程。我知道我可以使用Process.MainWindowHandle获取窗口句柄,但我如何设置它的大小和位置?我想我必须使用某种WindowsAPI,但使用哪一种以及如何使用?由于这并不是真正“在我的驾驶室”,我不确定我是否(以及如何)需要在64位Windows上使用不同的API。 最佳答案 有问题的WindowsAPI方法是SetWindowPos。您可以

c++ - 如何构造像 C# WinForms 这样的 C++ Windows API 程序

我是一位经验丰富的GUIC#程序员,并且仅在CLI方面拥有一些C/C++经验。我正在使用C++自学原生WindowsAPI。我能够创建带有按钮和输入字段等的窗口;在单击按钮和键入文本等时执行操作。但是,到目前为止,我所做的一切都在一个单独的c或cpp文件中,而没有使用类。在C#中,我会创建扩展Form的类:publicclassMyForm:Form{}然后像这样打开它:MyFormmyForm=newMyForm();myForm.ShowDialog();或:newMyForm().ShowDialog();或:Application.Run(newMyForm());然而,使用我

c# - 如何在 Winforms 应用程序中嵌入控制台应用程序

我正在开发一个用作Minecraft服务器GUI的应用程序(作为控制台Java应用程序运行)。我已经完成了,我还想在Winforms应用程序中添加一个控制台,因为我想让用户对程序有更多的控制权。但是使用流(Process.StandardOutput)我无法模拟控制台,因为它有时会更改光标位置、清除控制台等...所以,我想以某种方式将流程嵌入到应用程序中。我尝试的第一个解决方案是删除边框并将其相应地定位到表单的位置,但不幸的是我做不到。任何有效的代码片段将不胜感激! 最佳答案 您不能在同一个模块(msdn)中同时定位子系统gui和c

c# - 使用包含大量数据的文本框恢复 WinForm

我在C#(VS2010)中创建了一个表单,其中包含(除其他外)文本框控件。文本框有时可能包含大量数据(约300万个字符)。当滚动或移动表单时没有遇到任何问题,但是当表单最小化并再次恢复时,会触发重绘序列(我相信),这会导致表单延迟大约5-10秒重新粉刷。我已经尝试过几种解决方案:使用双缓冲——根据我的阅读,双缓冲只适用于表单本身而不适用于它的控件this.SetStyle(ControlStyles.DoubleBuffer,true);this.SetStyle(ControlStyles.AllPaintingInWmPaint,true);this.SetStyle(Contro

c# - 什么是最快的 WinForms 控件套件(商业)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我的雇主想要销售“性感”的应用程序,这意味着他们并不真的希望使用Windows的标准控件。我愿意,因为更好的表现,但他们付钱所以他们决定。目前我正在使用最新版本的TelerikWinForms。它们看起来都很棒,但性能非常非常令人失望......F.e.:我只创建了一个简单的空WinForm项目,其中只有一个Form,没有其他任何东西(没有添加控件,也没