Articles of winforms

在Win32应用程序中使用Windows窗体

我需要创build一个Win32应用程序。 我正在使用visual studio。 我真的很喜欢在Windows窗体中devise我的应用程序,它允许以graphics方式devise我的窗口。 但是,我不能使用Windows窗体(仅)。 我必须使用Win32应用程序。 现在,当我创buildWin32应用程序时,我无法用graphicsdevise我的窗口。 有没有办法将Win32应用程序中的Windows窗体? 还是graphicsdevise的Win32窗口? (如果有graphics化devise Win32应用程序GUI的方法,只是我无法想象它,我将不胜感激资源或方法。)

运行html5应用程序作为Windows可执行文件

我已经看遍了networking上的这类事情,我发现了很多类似的问题和文章,但没有回答这个问题。 我有一个大型的HTML 5应用程序,我想作为一个全屏幕本机应用程序作为一个可执行文件在Windows上运行。 我可以形象你可以通过以后在c + +的webkit做到这一点,但我不知道c + +,没有时间去彻底学习它。 任何人都可以build议使我的HTML5应用程序作为全屏Windows应用程序运行的最佳方式?

使用IMessageFilter和DoEvents的模式操作

这是一个Windows窗体应用程序。 我有一个函数捕获一些模拟鼠标事件,直到满足条件。 例如,我想等待用户在函数返回之前在窗口的客户区域中select一个点(或者可以select使用Escape键取消操作)。 我正在使用以下结构: Application::AddMessageFilter(someFilter); while(someFilter->HasUserSelectedAPoint_Or_HitEscapeKey()){ Application::DoEvents(); } Application::RemoveMessageFilter(someFilter); 这工作相当好,除了控制进入while循环时占用近100%的CPU使用率。 我正在寻找类似于以下所示的替代scheme: Application::AddMessageFilter(someFilter); while(someFilter->HasUserSelectedAPoint_Or_HitEscapeKey()){ // Assuming that ManagedGetMessage() below is a blocking // call which yields control to the OS if(ManagedGetMessage()) Application::DoEvents(); } Application::RemoveMessageFilter(someFilter); 什么是正确的方式来使用IMessageFilter和DoEvents ? 我如何向操作系统放弃控制,直到收到消息? 托pipe世界中的任何GetMessage等效项?

在Windows窗体图片框中的图像转换

我是新来的Windows窗体,在我的项目中,我需要在运行时更改图片框中的图像。 我可以在计时器的帮助下做到这一点。 图片只是变了。 是否有可能做一些过渡时,图像变化,例如淡入,淡出,模糊等。如果可能的话,请让我知道如何做到这一点。 我在网上search,但徒劳。提前感谢。 Varun的

C# – 将大文本文件(150MB)读入Rich Text Box

我试图读入一个150MB的文本文件到一个富文本框。 目前,我正在使用StreamReader遍历文件中的每一行,将每一行附加到一个StringBuilder实例。 这适用于较小的文件,但是当试图读取大文件时,我得到一个System.OutOfMemoryexception。 我没有看到任何读取150MB文件的问题 – 有足够的物理内存,这是在Windows 32位应用程序地址空间。 如果任何人在这里有任何想法如何做到这一点,将不胜感激。 我会在最后附上我的代码。 谢谢。 StringBuilder sb = new StringBuilder(); using (StreamReader sr = new StreamReader(fileLocation)) { string line; while ((line = sr.ReadLine()) != null) { sb.AppendLine(line); } } return sb;

从Process.Start启动时,应用程序图标为空

FileInfo fi = new FileInfo(fileToExcecute); Directory.SetCurrentDirectory(fi.DirectoryName); ProcessStartInfo pInfo = new ProcessStartInfo(); pInfo.FileName = fileToExcecute; pInfo.RedirectStandardOutput = false; pInfo.RedirectStandardError = false; pInfo.CreateNoWindow = false; pInfo.UseShellExecute = true; pInfo.WorkingDirectory = fi.DirectoryName; if (runas) pInfo.Verb = "runas"; pInfo.WindowStyle = ProcessWindowStyle.Normal; Process p = Process.Start(pInfo); 应用程序图标从任务栏中丢失。 这只是一个空白的广场! 上面的代码对于几个项目工作正常,但是一个特定的程序失败 – 让我们称之为projectX.exe。 我已经重写了Main以及projectX.exe的启动方法,以便它们模仿另一个显示其图标的项目。 我试了好几天才发现为什么,却一直没有成功。 我已经尝试了各种想法,包括更改图标,在运行时更改它,以及切换是否应该显示。 如果我要求以pipe理员身份运行projectX.exe,则图标显示正常,但该选项对我的客户端不可用。 编辑2017年10月20日如果我更改“projectX.exe”的名称为例如'test.exe',则图标在任务栏中显示确定。 存储在registry中的程序的图标在哪里? 编辑2017年10月22日按照build议刷新图标后,从文件资源pipe理器运行程序或创build快捷方式时,该图标不再显示在任务栏中。 编辑2017年11月12日以“pipe理员”身份运行程序,图标将按预期显示在任务栏中。

监视Windows窗体应用程序

我想监视一个winforms应用程序内的用户行为。 是否有一种通用的方法来挂接事件系统,而不必在每个表单或每个button上编写事件处理程序? 我想监视以下事件: Windows打开 Windowsclosures 点击button 理想情况下:每种forms的时间花费 我不想订阅所有forms的所有事件,应用程序是为了大。 我只想钩住和监视所有事件。

我如何皮肤我的Windows窗体应用程序?

我想将我的应用程序的外观和风格与Office 2007相似。 有没有现成的,简单的,简单的解决scheme?

如何以编程方式检测是否在Windows桌面应用程序中启用/禁用了JavaScript? (WebBrowser控件)

我有一个应用程序将HTML写入.NET WinForms应用程序中的WebBrowser控件。 我想以某种方式编程检测,如果Internet设置有JavaScript(或活动脚本相反)禁用。 我猜你需要使用像WMI这样的东西来查询IE安全设置。 编辑#1:这是很重要的,我知道如果在显示HTML之前启用JavaScript,所以解决方法修改DOM显示警告或使用标记不适用于我的具体情况。 在我的情况下,如果javascript不可用,我会在本地RichTextBox中显示内容,而我也想报告JS是否启用回服务器应用程序,所以我可以告诉pipe理员谁发送警报5%或75%的用户有JS启用与否。

从内存stream复制时显示Windows文件复制对话框?

我的应用程序将从MemoryStream将文件写入磁盘。 我不想创build自己的进度对话框,而是喜欢使用现有的窗口function,例如SHFileOperation Win32 API,它显示带有animation和进度条的标准文件复制对话框。 但是,这个特定的API要求指定源文件的path。 是否有可能以某种方式使用此API的MemoryStream还是有另一个API,我可以使用?