Tag: winforms

C#WinForms – 任何人都知道C#GDI库而不是SLOW GDI +

GDI +非常慢,几乎完全是软件,而GDI是高度硬件加速的。 GDI +是Graphics类在WinForms上使用的,它太慢了。 有没有人创建.NET GDI库,所以我们可以有速度? [编辑]很多人都在推荐OpenGL / DirectX。 我的要求是客户端兼容性,尤其是远程桌面。 AFAIK远程桌面不支持开箱即用的OGL / DirectX。[/ EDIT]

Windows 7风格的Dropshadow采用无边框forms

精简版: 目标: C#中无边界WinForm中的深色,黑暗,Windows 7阴影 已知的现有解决方案1:使用CreateParams的简单XP风格的阴影。 问题:太弱,太轻,太难看。 已知的现有解决方案2:用位图替换forms的GDI。 问题:失去使用控件的function,仅作为启动画面使用。 这篇文章的目标:找到这个问题的中位数解决方案或者更好的解决方案。 。 。 。 长版: (编辑:我指的是沿着任何窗体边界的阴影,如果不清楚的话。)我知道有一种方法可以在C#中使用以下方法制作XP风格的阴影: C#Code 1 – 简单的XP风格的阴影(问题:轻,弱,丑) // Define the CS_DROPSHADOW constant private const int CS_DROPSHADOW = 0x00020000; // Override the CreateParams property protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ClassStyle |= CS_DROPSHADOW; return cp; } } 但是,我试图弄清楚如何使它们看起来像Windows 7中的做(更深和更大的阴影),并且无法找出这样做的最佳方式。 我现在创建了一个方法,它可以让我覆盖整个表单GDI,看起来就像一个启动画面(不是我的信用): […]

我的应用程序的吐司风格弹出窗口

我创建了一个在任务栏中运行的应用程序。 当用户点击应用程序时,它会弹出等等。当我的一个朋友登录时,我想要的function与MSN中的function相似。显然这是一个知道的吐司弹出窗口? 我基本上希望从任务栏中的应用程序每隔20分钟弹出一次吐司风格。 我现有的应用程序是基于C#和.net 3.5编写的winforms 干杯

使用C#填充ComboBox

我想用以下内容填充一个combobox: 可见项目/项目值 English / En Italian / It Spainish / Sp etc…. 有什么帮助吗? 也可以在填充Combobox后,使其只读?

当用户选择125%或150%的OS字体大小时,如何强制Windows窗体C#应用程序忽略?

当用户在操作系统设置中选择较大或较小的百分比时,我需要一种快速强制我的C#Windows窗体应用程序不缩放字体的方法。 这有可能吗?

Windows 8 – Fancy Progress Bars API?

有谁知道Windows 8用于文件传输进度的新“花式”文件传输进度条是否可通过某些API(最好是C#)获得? 我可以在我们的应用程序中考虑一些有用的地方,但似乎无法确定它是消耗品还是仅在Windows内部可用。 编辑 我下面的答案现在包括我写的WPF实现,你可以在你自己的项目中使用:)

设置在WinForms应用程序中打开的控制台窗口的位置

我在Rex Logan发布的这个post中发现了一些源代码: 链接文字 … Foredecker在同一个post中也发布了一些非常有趣的代码,但它不完整和复杂:我对’跟踪工具知道如何完全实现它不够了… 我能够在WinForms应用程序中成功发布此控制台代码Rex(友好地),以记录各种事件,并将消息推送到调试中非常有用; 我也可以从应用程序代码中清除它。 我似乎无法做的是在打开控制台窗口时(在主窗体加载事件中)可靠地设置控制台窗口的屏幕位置。 如果我尝试设置WindowLeft或WindowTop属性,我得到编译阻止System.ArgumentOutOfRangeException错误: 必须设置窗口位置,使当前窗口大小适合控制台的缓冲区,并且数字不能为负数。 参数名称:left实际值为# 但是,我可以设置WindowWidth和WindowHeight属性。 我试过移动激活控制台各个位置的代码,包括: 在MainForm运行之前的Program.cs文件中 在MainForm ctor中调用’InitializeComponent()之前和之后 在Form Load事件中 在Form Shown活动中 控制台在代码中的所有这些位置都可以正常激活,但看似随机切换屏幕左上象限的位置没有变化。 控制台窗口打开的位置似乎随机变化(主窗体始终在屏幕上的同一位置初始化)。

应用程序卡在全屏?

要重现我的问题,请执行以下操作: 在C#中创建一个新的Windows窗体应用程序。 在Form1的“属性”窗口中,将FormBorderStyle设置为None 。 启动程序并按Windows + Up 。 现在你陷入全屏。 在默认的FormBorderStyle设置中, MaximizeBox属性为false将禁用Windows + Up全屏快捷方式。 如果FormBorderStyle设置为None Microsoft决定禁用除向上箭头之外的所有Windows +箭头键快捷键,然后禁用禁用MaximizeBox属性。 这是一个小故障吗? 禁用此快捷方式的任何简单方法都是在所有其他FormBorderStyles上禁用的同一方式 ?

在更改汇编/文件版本后保留用户的设置

背景 我有一个用C#编写的简单WinForms应用程序。 我讨论了一段时间的部署解决方案,但最终决定放弃ClickOnce,因为一些约束是至关重要的限制。 相反,我已经改编了一个简单的解决方案,通过程序集/文件版本(我保持同步)在应用程序的属性中对应用程序进行版本控制。 我正在通过安装项目(* .msi)进行部署。 我将最新的汇编版本号在线存储在XML文件中,以及最新的安装程序文件。 在运行时,我只是在线检查Application.ProductVersion对照最新版本,如果有更新,则打开更新对话框。 问题 到目前为止,这种方法运作良好,但我最近发现这种方法存在一个主要问题。 更新应用程序的程序集版本时,将在AppData / Company / Product / Version / blahblahblah中创建用户的设置文件(user.config)的新版本。 这显然迫使用户重置新版本中的所有内容。 建议的解决方案 我不知道该怎么办。 到目前为止,应用程序只有1个版本,目前的用户群基本上是我可以求它测试它的人,所以切换策略没什么大不了的。 我考虑过: 1.)编写我自己的设置系统,从而完全控制设置文件的存储和使用位置/方式。 2.)重新考虑我的版本控制/更新策略,以便更新不基于程序集版本。 我不确定如何做到这一点,但我的测试似乎表明即使构建和安装具有相同程序集版本的新版本仍然会破坏user.config。 我想我真正想知道是否有任何方法可以保留默认设置系统,因为它很容易使用,同时也适应我的部署策略。

C#中的JSON; 发送和接收数据

我正在尝试为请求和响应应用程序创建桌面客户端。 我能够轻松地完成GET请求。 但我想知道是否有人可以帮我弄清楚如何做JSON请求和响应。 并将其解析成一个字符串,从那里我可以锻炼如何将它全部切开