我试图使用richtextboxes来显示单行数学方程式。因此,我必须代表指数。 我通过更改字体大小和偏移来完成此操作,如下所示:
{
if (state) // superscript
{
richTextBox1.SelectionCharOffset = offSet;
richTextBox1.SelectionFont = new Font("Lucinda Console", 10);
}
else // normal
{
richTextBox1.SelectionCharOffset = 0;
richTextBox1.SelectionFont = new Font("Lucinda Console", initialFont);
}
richTextBox1.SelectedText = " ";
}
这个代码体是用一个方法执行的,由一个复选框调用。 我遇到的问题是,如果我没有追加空格,那么我输入它时,richtextbox的字符偏移量和字体值默认回到标称值。
我真的不想要一个空间。我只是用它来保持程序的快乐。作为一种解决方法,我试图以编程方式实现退格。有没有办法做到这一点?我确实尝试在块的底部使用这行代码,但它没有效果:
richTextBox1.Text.Remove(richTextBox1.Text.Length - 1, 1);
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
richTextBox1.SelectionCharOffset = offSet; // set the CharOffset to display superscript text.
richTextBox1.SelectionFont = new Font("Lucinda Console", 10); // set the superscript font;
}
else
{
richTextBox1.SelectionCharOffset = 0;
richTextBox1.SelectionFont = new Font("Lucinda Console", initialFont);
}
richTextBox1.SelectedText = " ";
}
答案 0 :(得分:0)
只需运行一个简单的测试用例,您需要做的就是让RichTextBox FOCUS 进行更新。
变化:
richTextBox1.SelectedText = " ";
致:
richTextBox1.Focus();