问题标签 [devexpress-windows-ui]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Direct2D / GDI+ 和缓慢的 Windows 窗体绘图 - 可以做什么?
我经常使用 Visual Studio 2008、.NET C# 2.0-3.5 和 Windows 窗体,我注意到,像我之前的许多人一样,GDI+ 在绘制控件方面非常慢。请注意,我不太会处理图像(JPG、GIF 等)。图像仅在某些地方作为图标。这实际上是绘制缓慢的控件/表单/等。
问题是您可以看到正在绘制的控件,并且可能需要几秒钟才能绘制一组看似简单的控件。即,它的滞后和可怕。
我已经进行了测试,我只是在表单上放置了一些标签(40-50),按 F5 运行并且必须等待它们被绘制。再次,滞后,不是一个很好的体验。
所以,有 WPF 可以解决这个问题,但我/我们还没有准备好迁移到 WPF。所以我四处寻找解决方法或修复程序,我偶然发现了 Direct2D,并且在阅读其他一些库时。
让我有点困惑,因此有这些问题:
1) 首先,我想要的是一种相当简洁的方法,只需用更快和硬件加速的方法替换GDI+。是否可以在不使用 WPF 且无需重写所有 Windows 窗体代码的情况下做到这一点?
每当我在 Direct2D 上阅读任何内容时,我都会看到一长串通常很糟糕的 C++ 代码,告诉我如何手动编写代码以进行绘图。我不要那个。
2) 在网上阅读时,我偶然发现了 SlimDX,但我不知道如何使用它(我承认,我在写作时没有尝试过很多)。假设我已经有一个 GUI 应用程序(Windows 窗体,标准 C# 代码)——我可以以某种方式使用 SlimDX(或类似的东西)来“替换”GDI+ 而无需过多重写吗?
我的问题是我找不到任何示例或类似的东西来告诉我是否可以在我已经创建的 Windows 窗体软件中使用 SlimDX、Direct2D 或其他类似的东西,如果可以的话 - 怎么做。
希望我不要太模糊=)
==编辑== 2010-09-22
我已经在我的真实应用程序中进行了一些测试,并将其中一件缓慢的事情隔离出来:
当我将文本添加到用户控件中的某些标签时,控件会自行调整大小以适应文本。例如,包含 GroupControl 会稍微适应刚刚添加到 Labels 的 .Text-property 的文本的大小。
大约有 10 个标签控件。第一次更新标签并因此更改大小时,整个过程大约需要 500 毫秒。第二次更新标签,大小没有变化,大约需要0毫秒。
==编辑 2== 2010-09-22
发现其中一个减速。然后将字符串添加到 Text-property 如果正在添加的文本的字符串长度与更新前的文本不同,则会很慢。
我正在使用 DevExpress 库,并且可以将 LabelControls 设置为 AutoSizeMode。如果我将其设置为“无”,那么当添加长度与前一个文本不同的文本时,延迟就会消失。我猜这个问题对于普通的标签控件来说是一样的,因为它也有一个 AutoSize = true/false 设置。
然而,它是一种“解决方法”,但仍然证明了我的观点——调整大小时它真的很慢,这很蹩脚。
c# - Devexpress 从 gridview child 获取值
我使用此代码生成数据并将其输出到我的 gridview
伙计们。请帮忙。当我点击gridview的孩子时,我想实现这样的目标。提前谢谢
winforms - DevExpress MetroUI 到 WindowsUI
实际上,我已经在 DevExpress MetroUIView 中开发了我的应用程序。
现在我需要将其转换为 DevExpress WindowsUIView。我使用的是 12.2.4 版本。
我试图通过 DevExpressProject Converter
工具转换我的项目,但这条线没有得到转换:
从 MetroUIView 转换到 WindowsUIView 还有其他选择吗?
winforms - DevExpress MetroUI 问题
实际上,我已经使用 DevExpress MetroUIView 完成了我的应用程序。
我有一个 TileContainer,在单击磁贴时,它显示 GridView 页面,在 GridView 上双击时,它正在导航到详细信息页面。
到目前为止,一切正常。我的问题是:当我在详细信息页面单击后退按钮时,它直接导航到 TileContainer 页面而不是 GridView 页面。
我想以某种方式,当我从详细信息页面单击后退按钮时,它应该重定向到 GridView 页面,如果我单击 Gridview 页面上的后退按钮,它应该重定向到 TileContainer 屏幕。
winforms - 如何在 TileControl 上添加水平滚动条?
我试图在我(DevExpress) TileControl
的 Visual Studio 2010 中添加一个水平滚动条,但我总是失败。我知道当你创建一个时,TileControl
你可以用鼠标滚轮自动滚动,但是我如何添加一个水平滚动条呢?
winforms - 如何使 TileContainer 上的自定义 CheckButton 检查为 false DevExpress
我在 TileContainer 上有一个 CheckButton。我在 CheckButton 的 Checked 事件上显示了一个弹出菜单。现在,我需要在事件结束时取消选中 CheckButton。
winforms - DevExpress 控件的编码 UI 测试不起作用
我将开始新项目的工作,在该项目中我将 DevExpress 控件与 winform 应用程序一起使用。
我想对 winforms 应用程序和 DevExpress 控件进行编码 UI 测试。
我有 VS 2010 Ultimate 和 DevExpress Controls 12.2 版本(最新版本)。
在我的一个示例中,我使用 DevExpress.XtraGrid 的 GridControl 创建了 winform。当我为此网格控件创建编码 UI 测试时,它不起作用。
我的意思是它不支持它。
谁能给我解决方案/示例/教程来为 Winforms 中的 DevExpress 控件编写编码 UI。
谢谢 !!
c# - DevExpress WindowUIView 后退按钮事件
我正在使用 DevExpress12.2 为 Windows 7 开发一个 MetroUI 喜欢的应用程序。但是,我面临一个似乎无法靠自己解决的问题。
我正在使用 DocumentManager 创建一个 Tile Container Page。因此,DevExpress 会自动为我们生成一个返回按钮。
用户可以随时单击返回按钮返回到磁贴菜单。但是,在某些情况下,比如数据录入,我们需要强制用户在用户完成操作之前不要返回?
当用户单击后退按钮时,我可以捕捉到任何事件吗?或者有什么方法可以在某些情况下隐藏后退按钮?
c# - 关于 C# 中的 Devexpress Gridcontrol 的问题?
我有一个 devexpress gridcontrol 并加载了一个 Xml .. 如果 XMl 有属性,那么数据源会正确加载.. 否则它会失败并抛出异常
仅当缺少属性时,我才会收到异常
c# - 在 DevExpress C# 中跟踪 GridControl 中的行更改
我有一个问题,我一直在努力解决这个问题太久了,我似乎无法找到解决方案。
我们正在使用 DevExpress,我们有一个基于消息的架构,它可以发送消息,让系统的其他组件知道特定的变化。
我们的大部分应用程序都围绕着对绑定到 DataTable 对象的网格控件所做的更改。
我们需要调度的更重要的消息之一是当我们的网格控件上的行发生更改时。因此,如果行上的任何值发生变化,我们希望发送一条带有旧行值和新行值的消息,这样我们就有了新旧记录。我们希望在行失去焦点时发生这种情况,而不是在任何值立即更改之后发生。这样有人可以在发送消息之前更改整行。
我正在使用的当前解决方案不起作用,甚至不值得解释。
本质上,我需要为旧行和新行获取行值和列名的键/值列表。
我不确定如何在 DevExpress 中执行此操作。