如何使用System.Drawing绘制表格

3
我想使用System.Drawings绘制一个表格,然后填充单元格中的一些文本。这个文本将在不同的时间点每隔几秒钟改变。这是一个游戏,其中有一个网格,每隔几秒钟,随机的单元格会瞬间显示一个数字,然后用户必须在下面的文本框中输入答案。此外,用户还必须点击刚刚显示数字的单元格。我在使用窗口图形方面的经验很少,所以任何帮助都将不胜感激。

它必须是WinForms还是可以是WPF? - Conrad Frix
这里有一个相关的帖子,https://dev59.com/cW035IYBdhLWcg3wYO11 - Karthik Mahalingam
@Karthik提供的链接非常有帮助!谢谢! - Macin
1个回答

2

您是否考虑使用DataGridView控件代替?

如果您更喜欢使用低级别的方法,绘制表格并不难。将xy坐标进行细分以获得用于绘制的点(System.Drawing.Point)。

使用笔(System.Drawing.Pen)和两个点作为参数来绘制线条,可以使用Graphics.DrawLine方法。您可以将数字放置在单元格的中点,因为您已经知道用于绘制表格线的所有点(及其坐标)。

您还可以通过坐标确定单击了哪个单元格。


这需要使用System.Drawing作为项目要求的一部分。 - Macin
那么这是否是一个高效的解决方案呢: 将每个单元格(即左上角)的坐标存储在字典中,然后每当用户点击单元格时查找单元格索引? 我从未做过太多底层图形编程,因此有一些简单的问题。非常感谢您的帮助! - Macin
然而,基于值查找字典键可能会很困难。还有什么其他最常见的解决方案? - Macin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接