按钮阵列控件






3.50/5 (6投票s)
一个动态按钮阵列控件。
引言
这只是一个小型文章,它不会解释如何创建用户控件,因为这非常简单,也不会告诉您控件是如何工作的,因为它本身没什么,它会告诉您它做什么以及您如何在自己的项目中使用它,因为这是任何控件的真正目的。当然,如果您有任何疑问,下载并查看代码将帮助您入门。您可以下载用户控件源代码和/或二进制文件,并以您喜欢的方式使用它。
特点
该控件包含一个动态按钮阵列;动态意味着您可以创建任何大小的按钮矩阵,甚至在运行时。
该控件具有一个大按钮,可以放置在顶部或底部,如果您不需要它,可以将其设置为不可见。您可以在按钮上放置一个或多个图像,可以指定按钮的大小或它们之间的间距,您可以让它们以四种不同的方式排列,从左到右 (L2R),从右到左 (R2L),从上到下 (T2B),或从下到上 (B2T)。您还可以设置所有按钮的文本和图像对齐方式,以及其他设计时属性。
使用控件
|
使用该控件非常容易。首先,您必须将其导入工具箱。您可以通过拖动控件的 DLL 或通过浏览并添加该项目来执行此操作。一旦将其添加到工具箱中,只需将其拖放到您的项目窗体上,它将显示其默认的 3x3 矩阵布局。
然后只需编辑属性以满足您的需求,就像您之前使用的任何其他控件一样。我实现的属性带有一个简短的描述,但是,如果您无法理解,您可以查看代码以了解它是如何工作的,或者您可以写信给我。 很简单,对吧? |
一些未解决的问题
在开发过程中,我确实遇到了一些问题,我以为我很好地完成了控件,因为一些测试已经通过了,但后来我尝试了新的测试,出现了许多问题。在开发控件时,测试所有内容会稍微困难一些。
您必须在设计时和运行时进行测试;无论如何,我解决的最具挑战性的问题是布局、矩阵的创建以及设计时的调整大小。
基本上有两个问题我无法解决,所以如果您阅读了这篇文章并且有一些建议或任何提示,我们非常欢迎。我希望我的控件有一个漂亮的图标,但它就是不显示。我将我想要的图标添加到项目属性中,但是当我将控件添加到工具箱时,它总是显示相同的默认图标。
我无法使其工作的另一件事是按钮的文本。我希望它们在设计时被修改,所以我创建了一个 ArrayList
作为属性,以便它在设计时显示,并且确实显示了,但它不允许我修改它们,只能看到它们。所以然后我考虑使用一个集合编辑器,就像 combobox.Item
字符串集合编辑器一样,但无论我尝试什么,我都会得到相同的结果,"只读"。我不知道我是否必须制作自己的集合编辑器,但它不应该那样。
最后的话
我希望该控件对您有所帮助。我可以想到很多用途。所以我希望您的也是其中之一。我很乐意收到任何使用它的人的反馈,告诉我它的情况。
任何问题或评论都非常欢迎。