Как написать внутри панели панели с помощью метки? - PullRequest
0 голосов
/ 07 мая 2018

Вот код для написания письма G с представлением * внутри текстового поля. Теперь я хочу написать это внутри панели с помощью метки. Как я могу это сделать?

Я нарисовал ярлык внутри панели и хочу написать внутри ярлыка.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication31
{
  public partial class Form1 : Form {

    public Form1() {
      InitializeComponent();
    }

    private void A(object sender, EventArgs e) {
      int row, column;

      for (row = 0; row <= 6; row++) {
        for (column = 0; column <= 6; column++) {
          if ((column == 1 && row != 0 && row != 6) || 
              ((row == 0 || row == 6) && column > 1 && column < 5) || 
               (row == 3 && column > 2 && column < 6) || 
               (column == 5 && row != 0 && row != 2 && row != 6))
            textBox1.AppendText("*");
          else
            textBox1.AppendText(" ");
        }

        textBox1.AppendText(Environment.NewLine);
      }
      textBox1.AppendText(Environment.NewLine);
    }
  }
}

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Для текстового поля:

textBox1.AppendText(text);

Для ярлыка:

label1.Text += text;

Создайте свой текст отдельно, используя StringBuilder.

StringBuilder builder = new StringBuilder();

int row, column;

for (row = 0; row <= 6; row++)
{
    for (column = 0; column <= 6; column++)
    {
        if ((column == 1 && row != 0 && row != 6) ||
            ((row == 0 || row == 6) && column > 1 && column < 5) ||
                (row == 3 && column > 2 && column < 6) ||
                (column == 5 && row != 0 && row != 2 && row != 6))
            builder.Append("*");
        else
            builder.Append(" ");
    }

    builder.Append(Environment.NewLine);
}
builder.Append(Environment.NewLine);

string text = builder.ToString();
0 голосов
/ 07 мая 2018

Предполагая, что вы можете выполнить свою задачу, используя текстовое поле,

Однако по умолчанию элементы управления метками не должны быть многострочными. Текстовые поля можно сделать так, используя атрибут multiline (следовательно, вам нужно проверить совместимость)

Измените код на

private string CreateGraphicString() {
     StringBuilder builder = new StringBuilder();
    int row, column;

  for (row = 0; row <= 6; row++) {
    for (column = 0; column <= 6; column++) {
      if ((column == 1 && row != 0 && row != 6) || 
          ((row == 0 || row == 6) && column > 1 && column < 5) || 
           (row == 3 && column > 2 && column < 6) || 
           (column == 5 && row != 0 && row != 2 && row != 6))
        builder.Append("*");
      else
        builder.Append(" ");
    }

    builder.AppendLine();
  }
  builder.AppendLine();
}
 return builder.ToString();
}

myLabel.Text = builder.AppendLine();
myTextbox.Text = builder.AppendLine();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...