Как отобразить значения 2D-массива в метке? - PullRequest
0 голосов
/ 02 июня 2018

У меня есть 2D-массив следующим образом.Я хотел бы отобразить его с помощью метки в форме Windows, поэтому он находится в табличном формате (строки и столбцы.) Как это сделать?

string[,] map = new string[10, 10] 
{ 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }, 
    { ".", ".", ".", ".", ".", ".", ".", ".", ".", "." }
};

1 Ответ

0 голосов
/ 02 июня 2018

Используйте monospaced шрифт, например Consolas, и оставьте отступ слева, как указано ниже:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...