我有一小段代码,可以动态地将富文本框添加到表格布局面板的每个单元格,但用户不应该能够编辑其中的文本。
RichTextBox[,] textList = new RichTextBox[4, 4];
for (int a = 0; a < 4; a++)
{
for (int b = 0; b < 4; b++)
{
RichTextBox newBox = new RichTextBox { Dock = DockStyle.Fill, Text = "2", BackColor = Color.AntiqueWhite, BorderStyle = BorderStyle.None, SelectionAlignment = HorizontalAlignment.Center, Font = new Font("Arial", 36, FontStyle.Bold), SelectionProtected = true };
textList[a, b] = newBox;
tableLayoutPanel1.Controls.Add(newBox, a, b);
}
}
我尝试过使用 SelectionProtected = true,但它并不能阻止用户单击和编辑文本,并且 Enabled = true 会使文本显示为灰色。
您可以将
ReadOnly
属性设置为 true
:
newBox.ReadOnly = true;
textList[a, b] = newBox;