由于OP正在发布在GDI +子论坛中,因此很有可能他还使用WinForms。
真正的问题是,当OP要求能够在字段中单击并添加文本或其他编辑选项的行为时,该编辑是在设计时还是在运行时进行。
如果在运行时,那么在我看来,最简单的方法就是使用不带列标题和行标题的DataGridView。 DGV已经具有基本的行和列。使用默认的文本列类型可让用户输入文本,而其他内置类型则允许其他控件。 OP还可以为需要特殊编辑或渲染的其他内容编写其他自定义列类型。如果所有单元格都是自由格式的(例如第1行第1列可以包含文本,然后第2行第1列可以包含图像,然后第3行第1列可以包含播放按钮来播放音乐),那么作者将是强制编写自定义的omni类型的列以适应此情况。这比编写只接受一种类型的自定义列要困难得多。
除非表的行和列非常简单,并且用户不需要滚动和调整大小,否则DGV应该节省大量时间。
现在,另一方面,如果OP希望在设计时而不是在运行时进行所有编辑,那么就该确保安装Visual Studio SDK并遵循编写自定义UserControl的路径了。您不需要SDK来编写自定义控件,但是如果您希望能够在设计时与Windows窗体设计器中的控件进行交互,就需要它。