• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Работа с Textbox

  • Автор темы Guest
  • Дата начала
G

Guest

Есть класс, который отвечает за клетки кроссворда, в котором должны быть буквы. Данный элемент кроссворда создается через TextBox. Но эти клеточки такие маленькие получаются, а изменяешь размер - они увеличиваются только в длину. И мне нужно, чтобы в каждом таком ТекстБоксе можно было бы писать только одну буковку. Как так сделать? Желательно, чтобы курсор после введенной буковки переходил автоматически на другой ТекстБокс - для этого тогда придется делать массив ТекстБоксов? Тогда это будет значить, что элементом кроссворда уже будет не буква, а слово :)

Код:
public class KLetter : System.Windows.Forms.TextBox
{		
public int x, y;
Color clr;
public KLetter (int height, int wight, Color clr, int x, int y)
{			
this.Location = new Point(x, y);
this.Size = new Size(wight, height);
this.ForeColor = Color.Green;
this.BackColor = clr;
}
public void Drawing(PaintEventArgs e, int xOffset, int yOffset)
{
Graphics g = e.Graphics;
Pen pen = new Pen(Color.Red, 0.5f);
Pen line = new Pen(Color.Black, 10f);

this.SuspendLayout();			
}
}
А в классе Форма (который создается автоматически) в одной из функций вот так добавляются текстбоксы:
Код:
if (array[i,j]=='*')
{
KLetter kl = new KLetter(20, 20, Color.White, xbaseOffset, ybaseOffset);
this.Controls.Add(kl);
//kletter.Add(kl);
xbaseOffset += 20;
}
Что нужно и где еще добавить, чтобы получить желаемый результат?
 
M

mms

Используй рич текст бокс (RichTextBox, его можно ресайзить как хочешь) и поставь ограничение в 1 символ, у него есть такое свойство. Если символ не влазит, надо уменьшить шрифт.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!