问题标签 [powerpacks]

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 投票
3 回答
3828 浏览

vb.net - 遍历 DataRepeater (VB.Net PowerPack)

我正在使用来自 vb.net 电源组的 winform datarepeater 控件。

中继器上的所有项目都是只读的,除了复选框列。

我想遍历这些项目并找出选中了哪些复选框。

我在控件上找不到数据重复项的集合,并且帮助很少。

谢谢您的帮助。

0 投票
1 回答
3150 浏览

c# - 在 WinForm DataRepeater C# Power Pack 中处理按钮单击

我想处理 DataRepeater 中的 winform 按钮单击,我该怎么做?所有按钮都放置在 DataRepeater

非常感谢

0 投票
1 回答
4492 浏览

data-binding - 动态绑定 DataRepeater (Microsoft.VisualBasic.PowerPacks)

我正在使用 DataRepeater 在屏幕上显示来自业务对象的数据。我在 C# 中使用 Windows 窗体来完成此操作。数据源在编译时不可用,所以我想在运行时绑定数据源。

这是简化的场景。我正在使用这个商务舱:

我已经使用 VisualStudio 界面创建了一个 ProductDataSource 并将价格绑定到一个标签。现在我用代码填充了中继器的数据源:

当我启动我的应用程序时,价格已正确填写在标签中。到目前为止,一切都很好。

现在我希望在产品更新时更新价格标签。Visual Studio 界面帮助我,让我选择“数据源更新模式”。所以我选择“OnPropertyChanged”。

棘手的部分来了。.NET 运行时如何知道 price 属性是从后端更新的。所以我修改了我的业务类来实现 INotifyPropertyChanged。像这样:

问题是这行不通。当我更新产品时,它在界面中重新意味着未更新。当我调试和更改属性时,我看到 PropertyChanged 事件为空,所以没有人在听。

深入研究这个问题,我在 MSDN 上的 System.Windows.Forms.Binding Constructor 页面上发现了以下内容:

名为 PropertyNameChanged 的​​事件。

所以我尝试使用(自定义)PriceChanged 事件,但这不起作用。

我在这里做错了吗?我来自使用 WPF,所以这在 Windows 窗体中可能有点不同?这是因为我在运行时绑定吗?

0 投票
1 回答
1023 浏览

.net - 绘制继承自 LineShape 的新曲线形状

我使用 Microsoft.VisualBasic。电源包。LineShape 组件。这个组件很好,但我想画一条曲线而不是一条直线。我开始修改 OnPaint:

组件已正确绘制,但未检测到鼠标事件(单击、向下)。请帮忙,这是我的整个测试代码:

0 投票
1 回答
202 浏览

.net - 将两个控件合二为一

我想知道是否有可能(在视觉上和功能上)链接两个控件(组件)?(.NET2)

简化事情,我有两个标签 - 其中一个是主标签(它可以用鼠标代替),另一个 - 描述标签 - 它需要在指定距离上跟随主标签。

此外,描述标签应该能够响应事件,例如鼠标单击等。也许有可能使用UserControl但在标签之间我需要一个“透明”空间。

谢谢。

==编辑 1==

我也可以,而不是创建第二个标签控件,只使用一个永恒的 toolTip。在这种情况下,我想知道是否有可能将其显示为无限时间以及是否有可能检测到工具提示上的点击。

无论如何,如果我点击标签或工具提示,我将需要向用户显示一个 TextBox控件(而不是工具提示或标签),以便它能够修改显示的描述(实际上是显示时间)

== 编辑 2 ==

替代文字 http://lh4.ggpht.com/_1TPOP7DzY1E/Sy9Mk8-Z-xI/AAAAAAAACzo/-5huzSd59j4/s800/UserControl.png

这是我的“透明”用户控件设计

替代文字 http://lh5.ggpht.com/_1TPOP7DzY1E/Sy9MlM31jUI/AAAAAAAACzs/xIJ0hcgOzwo/s800/UserControlForm.png

这是我在运行模式下的表单(用户控件“透明”区域覆盖一个按钮)。

这是用户控件的代码:

==================

* 描述有点简化。在我的真实案例中,我有一个自定义的圆形点组件(:来自 Microsoft.VisualBasic.PowerPacks.OvalShape)。该点代表时间位置的对象 - 在链接标签中我需要指定点的时间。用户将能够通过单击时间标签来修改点的时间。

0 投票
3 回答
4915 浏览

vb.net - 如何获得打印机 HDC

我有一个用 C++ 编写的具有打印功能的 COM 组件。此打印功能将打印机 hDC 作为参数,其中包括用于打印的所有设置。以前,这是从 VB6 代码调用的,并且Printer.hdc在设置对象上的所有内容后将在这里工作Printer

代码从 VB6 转换为 VB.NET,我已经弄清楚了我需要做的大部分事情。旧的 Printer 对象可通过Microsoft.VisualBasic.PowerPacks.Printing.Compability.VB6.Printer该类获得,但hdc这里不支持旧的属性。

谁能告诉我如何获得这个hdc?这个 hdc 与对象GetHdevmode()上的相同吗?System.Drawing.Printing.PrinterSettings

0 投票
5 回答
2598 浏览

.net - 检测2条线的交点

我的表单上有 2 个 (VisualBasic.PowerPacks)LineShapes:

替代文字 http://lh4.ggpht.com/_1TPOP7DzY1E/S2cIJan7eHI/AAAAAAAADAw/qwA0jFHEbBM/s800/intersection.png

当我单击其中一个时,会出现一个特定的上下文菜单。用户可以移动线条。上下文菜单与一行相关联。但是,如果用户单击交叉点(如果存在),我需要显示另一个菜单,它将选择一条交叉线来执行操作。

现在,我想知道如何检测 2 条(或更多)线在点击点相交,因为在这种情况下应该出现另一个上下文菜单。

我试图做的事情:

我想我在容器中只有 LineShapes。这就是说,如果鼠标下方有任何 LineShape,ShapeContainer 将不会引发 MouseDown 事件。

但是这段代码只给了我 mostTop 行,但我也想要其他人的列表。

0 投票
4 回答
5271 浏览

.net - GDI+ 如何更改 Line SmoothingMode?

是否可以更改PowerPacks.LineShape平滑模式?

我尝试使用此代码(继承的类LineShape):

我总是有相同的结果,如下所示: alt text http://lh6.ggpht.com/_1TPOP7DzY1E/S3v1IbxlbCI/AAAAAAADD4/q1Y9kP8wJ0g/s800/Capture2.png

=======

编辑

更新了测试:

结果(不考虑标签和圆圈):

替代文字 http://lh3.ggpht.com/_1TPOP7DzY1E/S447qYvTqzI/AAAAAAAADE8/eP3kCLqQJbk/s800/Capture2.png

显然平滑模式没有被忽视......

0 投票
6 回答
2571 浏览

c# - 帮助重新绘制线条

我正在做一个自定义控件(继承自VisualBasic.PowerPacks.LineShape),它应该像标准控件一样绘制,但附近还显示了一个图标。

所以,我只是这样覆盖OnPaint

现在,一切正常,但是当我的控件移动时,图标仍然绘制在古老的地方。

有没有办法正确地画它?

alt text http://lh4.ggpht.com/_1TPOP7DzY1E/S5gXmp7xYiI/AAAAAAAADHI/pa1OhpKYSoM/Untitled-2.png 真实项目情况

CODE:测试的示例代码

替代文字 http://lh6.ggpht.com/_1TPOP7DzY1E/S5jSluxvtDI/AAAAAAADHw/EUz0Tfet-rw/s800/Capture2.png

Nota Bene,对于 lineShape:

更新 1 跟踪

在 OnPaint 的这个变体中,我们有以下痕迹:

替代文字 http://lh4.ggpht.com/_1TPOP7DzY1E/S5j29lutQ0I/AAAAAAADH4/4yEnZd_hPjA/s800/Capture3.png

更新 2 闪烁

在 OnPaint 的这个变体中,我们有一个闪烁的图像

替代文字 http://lh5.ggpht.com/_1TPOP7DzY1E/S5j4Bam7hiI/AAAAAAADIA/1hQWKyV8Fr0/s800/Capture4.png

更新 3:外部失效

这个变体效果很好,但是......来自 IconLineShape 类的外部:

即使这样解决了测试示例的问题,我也需要在控件内部完成此控件,因为我不能强制此控件的外部“客户端”不要忘记保存旧区域并在每次更改时使父级无效一个位置...

0 投票
1 回答
483 浏览

.net - 一种删除选定 LineShape 阴影效果的方法?

选择lineShape时有没有办法去除LineShape阴影效果?

替代文字 http://lh4.ggpht.com/_1TPOP7DzY1E/S6kq2KQ-zdI/AAAAAAADIg/tUy74j-EpQc/s800/capture4.png

我试过了

但最后,这对失效有一些负面影响:移动(在面板中)时,线会留下痕迹 - 不会正确失效。