问题标签 [krypton]

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.

0 投票
6 回答
21999 浏览

c# - 我在哪里可以免费找到一个不错的 .NET 选项卡控件?

我正在使用免费的 Krypton Toolkit 在 C# 中执行此应用程序,但 Krypton Navigator 是一种付费产品,对我来说相当昂贵,并且此应用程序是在我的空闲时间开发的,它将免费提供给公众。

所以,我正在寻找一种免费的控件,以便更好地集成到我的 Krypton 应用程序中,因为默认的控件不太适合,并且它会根据操作系统版本而有所不同......

有什么建议么?

PS:我知道我可以拥有它,但我试图不做那种工作......如果它免费存在,我更喜欢已经完成的东西。

编辑: 我刚刚找到了我想要的东西:
http ://www.angelonline.net/CodeSamples/Lib_3.5.0.zip

0 投票
1 回答
2061 浏览

c# - 如何在 C# 中将氪星标签的颜色更改为红色

我正在为我的 UI 使用氪星工具包,但我无法将氪星标签的颜色更改为红色,有人知道怎么做吗?

0 投票
2 回答
11860 浏览

c# - Windows窗体,对象出现在其他项目的前面?

当我将氪元素添加到我的表单中时,它们会出现在其他元素的顶部,我怎样才能使它可以在其他元素后面放置一些东西?

0 投票
1 回答
1754 浏览

c# - 氪(Winforms 库)是否有可能存在内存泄漏问题

我目前正在调试一个存在内存泄漏问题的大型 Winforms 应用程序。我使用 .NET 内存分析器,到目前为止,我已经能够找到其中的一些泄漏并解决它们。但是现在我面临一个问题,我不确定是不是问题,如果是问题,我不知道如何解决。

在运行我的应用程序大约 1 分钟后(考虑到普通用户可以使用几个小时,这并不算多),.NET 内存分析器向我显示了来自 Krypton Toolkit 的不同控件的大约 100-200 个实例,如果我这样做,这个数字会增加继续前进(它们永远不会被垃圾收集,因为看起来它们仍在某处被引用)。现在,如果我检查这些实例的根路径,它们看起来都像:

Krypton ViewManager 的根路径

我不知道在我的代码中哪里可以在不再需要这些实例时正确地取消引用它们,因为我不知道什么仍在引用控件。我知道创建 KryptonButtonEx 的位置,据我所知,ViewManager 是由这个按钮创建的,但我仍然不知道我能做些什么。对于那些感兴趣的人,创建按钮的代码是这样的:

尽管我的研究告诉我没有必要,我还是在 Dispose 函数中取消了这样的事件:

所以我的问题是:

Krypton 本身是否有可能保留对我的控件的引用,这导致一些内存没有被释放(如果它是用于保留对象池或类似东西的有限内存量,这可能是可以的,但如果这是一个不受控制的内存泄漏)?如果它不是来自 Krypton,您是否知道在哪里可以正确销毁这些实例?

非常感谢!

编辑:

我刚刚注意到 KryptonButtonEx 类不是来自 Krypton,而是来自我的应用程序。但我认为它不会改变任何问题,因为它唯一要做的就是覆盖 GetPreferredSize 函数:

0 投票
1 回答
1399 浏览

c# - 氪套件查询

我一直在使用 Krypton Suite/Toolkit 受益匪浅,但我一直想知道为什么会有免费版本。这只是一个试验,最终会被删掉,还是只是某些 100% 免费的元素,它是如何工作的。

任何帮助,将不胜感激。

0 投票
1 回答
838 浏览

c# - KryptonForm 未在设计器中显示 - Visual Studio 2013

我添加了 toolkit.dll 作为参考,继承了KryptonForm而不是Form,成功构建了应用程序,一切正常,但设计器模式无法显示表单。我收到此错误:

找不到类型“ComponentFactory.Krypton.Toolkit.KryptonForm”。请确保引用了包含此类型的程序集。如果此类型是您的开发项目的一部分,请确保已使用当前平台或任何 CPU 的设置成功构建项目。

0 投票
0 回答
263 浏览

c# - C# XNA 检索矩形内的像素

我在开发我的简单游戏时偶然发现了一个问题并且已经坚持了很长一段时间,我希望任何人都可以为我提供一个优雅的解决方案或朝着正确的方向迈出一步。

我目前有一个简单的自上而下的滚动条,玩家现在只是一个白色立方体,地图周围是旋转 45 度的Krypton光锥。玩家必须避免被灯光看到,所以我正在尝试创建一个像素碰撞方法来在玩家落入照明区域范围内时触发事件。

Krypton 有一个属性可以返回围绕灯光的边界矩形,但我不能将它用于碰撞,因为它会在灯光的整个区域周围绘制一个巨大的正方形,所以即使你站在后面,玩家也会被检测到光。我要准确。

我也尝试在照明区域周围画一个三角形,但这里的问题是它没有我想要的那么准确,因为一些光线穿过走廊,我无法准确地拾取使用静态三角形,加上三角形穿过墙壁,因为光线的范围实际上大于地图的一半,但大部分只是被阴影外壳阻挡。玩家必须能够躲避墙壁后面的灯光。这是我的意思的图像示例。图片

所以我认为最好的方法是检查播放器像素之一的颜色是否已更改为某个 .. RGB 值。这需要一些硬编码,但它是一个简单的游戏,所以我不介意这种方法。但是在这里我遇到了一些麻烦。

我读过这个Texture2D.GetData<>方法,我可以这样做,但是它返回一个实际导入纹理的颜色数组,它总是白色的。它不返回后处理的结果。这是有道理的,因为场景中可以有多个纹理。

我尝试的下一个是GraphicsDevice.GetBackBufferData<>返回视口的所有像素,这会立即使我的 FPS 降至零,有过载只能检索特定范围内的像素,但它们似乎对我不起作用,因为我总是对超出索引异常。这是我在使用此方法时尝试的方法:

(只是一个例子,但我似乎无法理解为什么这不起作用。)

因此,或多或少地切入正题,我正在寻找一种方法来检索某个区域的颜色数组或我的视口坐标,这样我就可以比较所述数组中的所有颜色以查看它们是否匹配。

抱歉,如果它有点长,但我会非常感谢任何建议或指导,因为我不知道我错过了什么,我已经关注了大多数关于这个的教程,他们似乎都比较了两个碰撞纹理的颜色值纹理,但如果我没记错的话,纹理本身实际上永远不会改变颜色,因为它只是一个被绘制的导入资产。我想我需要检索纹理被绘制的地方的颜色,以正确检查是否有变化。

亲切的问候

编辑:

我让它工作,作为 GetBackBufferData 中的参数的矩形运行良好,禁用 MultiSampling 使滞后不存在。感谢您的建议,@Bjarke Søgaard 和 @thomas88wp。

0 投票
1 回答
186 浏览

vb.net - 按事件处理程序分配事件

在我的应用程序中,我使用的是氪组件工厂。

我的应用程序有功能区菜单和一些氪金按钮。在氪按钮中,我想在运行时分配功能区菜单组按钮的单击事件。功能区菜单组按钮的事件基于某些条件而改变,所以我尝试这样

它不起作用。Get 字段始终不返回任何内容。

问题:我想通过仅使用控件名称的旧功能区菜单按钮抛出编码添加氪按钮单击事件的处理程序。它可能与否?它可能怎么做?

我正在使用 Vb.Net

0 投票
1 回答
1519 浏览

visual-studio-2013 - 无法在 Visual Studio 2013 中加载 Krypton Toolkit 控件

在使用 Visual Studio 2013 转换使用 Visual Studio 2010 创建的 C# 项目并使用 Component Factory Krypton Toolkit v4.4.0 控件后,我无法将 Krypton Toolkit 控件添加到工具箱中。

在 Visual Studio 2013 中,当我尝试将控件从库中添加到工具箱时,C:\Program Files (x86)\Component Factory\Krypton Toolkit 4.4.0\Bin\ComponentFactory.Krypton.Toolkit.dll我收到一个错误,因为它找不到文件ComponentFactory.Krypton.Toolkit.tlb.

有没有办法在没有这个 .tlb 文件的情况下从库中导入 Windows 窗体控件?

0 投票
1 回答
356 浏览

c# - KryptonSeparator 调整大小问题

设想

我需要使用KryptonSeparator的帮助。

我想使用下图中的分隔符来调整左右控件的宽度:

在此处输入图像描述

问题

问题是当我尝试将分隔符向左移动时,它会产生非常令人不安的视觉效果,当我将分隔符向右移动时或多或少会发生相同的事情,但向左移动更明显(而且可怕):

在此处输入图像描述

我认为我没有正确使用事件参数,KryptonSeparator因为当我将分隔符向左移动时,我使用分隔符的宽度而不是事件数据进行计算(因为我不知道如何正确执行)。

问题

我应该在我的代码中做哪些修改来解决调整大小的问题?

代码

左右控件都分配了一个属性,如果达到MinimumSize,我试图停止调整大小。MinimumSize.Width

这是源代码,在 VB.Net 中:

这是 C# 中的源代码:

更新

我更新了上面的代码以简化阅读,我正在分享这个新视频,您可以在其中看到设计问题:

www.youtube.com/watch?v=-MhmyE3MZX0