65.9K
CodeProject 正在变化。 阅读更多。
Home

按钮阵列控件

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.50/5 (6投票s)

2006年4月6日

CPOL

3分钟阅读

viewsIcon

55688

downloadIcon

2011

一个动态按钮阵列控件。

引言

这只是一个小型文章,它不会解释如何创建用户控件,因为这非常简单,也不会告诉您控件是如何工作的,因为它本身没什么,它会告诉您它做什么以及您如何在自己的项目中使用它,因为这是任何控件的真正目的。当然,如果您有任何疑问,下载并查看代码将帮助您入门。您可以下载用户控件源代码和/或二进制文件,并以您喜欢的方式使用它。

特点

该控件包含一个动态按钮阵列;动态意味着您可以创建任何大小的按钮矩阵,甚至在运行时。

该控件具有一个大按钮,可以放置在顶部或底部,如果您不需要它,可以将其设置为不可见。您可以在按钮上放置一个或多个图像,可以指定按钮的大小或它们之间的间距,您可以让它们以四种不同的方式排列,从左到右 (L2R),从右到左 (R2L),从上到下 (T2B),或从下到上 (B2T)。您还可以设置所有按钮的文本和图像对齐方式,以及其他设计时属性。

使用控件

使用该控件非常容易。首先,您必须将其导入工具箱。您可以通过拖动控件的 DLL 或通过浏览并添加该项目来执行此操作。一旦将其添加到工具箱中,只需将其拖放到您的项目窗体上,它将显示其默认的 3x3 矩阵布局。

然后只需编辑属性以满足您的需求,就像您之前使用的任何其他控件一样。我实现的属性带有一个简短的描述,但是,如果您无法理解,您可以查看代码以了解它是如何工作的,或者您可以写信给我。

很简单,对吧?

一些未解决的问题

在开发过程中,我确实遇到了一些问题,我以为我很好地完成了控件,因为一些测试已经通过了,但后来我尝试了新的测试,出现了许多问题。在开发控件时,测试所有内容会稍微困难一些。

您必须在设计时和运行时进行测试;无论如何,我解决的最具挑战性的问题是布局、矩阵的创建以及设计时的调整大小。

基本上有两个问题我无法解决,所以如果您阅读了这篇文章并且有一些建议或任何提示,我们非常欢迎。我希望我的控件有一个漂亮的图标,但它就是不显示。我将我想要的图标添加到项目属性中,但是当我将控件添加到工具箱时,它总是显示相同的默认图标。

我无法使其工作的另一件事是按钮的文本。我希望它们在设计时被修改,所以我创建了一个 ArrayList 作为属性,以便它在设计时显示,并且确实显示了,但它不允许我修改它们,只能看到它们。所以然后我考虑使用一个集合编辑器,就像 combobox.Item 字符串集合编辑器一样,但无论我尝试什么,我都会得到相同的结果,"只读"。我不知道我是否必须制作自己的集合编辑器,但它不应该那样。

最后的话

我希望该控件对您有所帮助。我可以想到很多用途。所以我希望您的也是其中之一。我很乐意收到任何使用它的人的反馈,告诉我它的情况。

任何问题或评论都非常欢迎。

© . All rights reserved.