我有一个二维数组,如下所示。我想使用Windows窗体上的标签来显示它,因此它是以表格格式(行和列)显示的。我该如何做到这一点?
string[,] map = new string[10, 10]
{
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." },
{ ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }
};
发布于 2018-06-02 07:43:20
使用像Consolas
这样的monospaced
字体并向左填充空格,如下所示:
Label label = new Label();
this.Controls.Add(label);
label.Size = new Size(500, 500); // Enter custom size or use Graphics.MeasureString method to find proper size dynamically
label.AutoSize = false;
label.Font = new Font("Consolas", 8);
for (int i = 0; i < map.GetLength(0); i++)
{
for (int j = 0; j < map.GetLength(1); j++)
{
label.Text += map[i, j].PadLeft(5, ' ');
}
label.Text += Environment.NewLine;
}
https://stackoverflow.com/questions/50651848
复制相似问题