リッチテキストボックスを使用して1行の数式を表示しようとしています。したがって、指数を表すことが不可欠です。 ここに示されているように私は、フォントサイズとオフセットを変更することによって、これを達成した:コードのプログラムでリッチテキストボックスにバックスペースを入力する
{
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のcharオフセットとフォント値がデフォルト値に戻ってしまうということです。
私は本当にスペースを必要としません。私はプログラムを幸せにするためにそれを使用しています。回避策として、プログラムでバックスペースを実装しようとしています。これを行う方法はありますか?ブロックの最後にこのコード行を使用してみましたが、効果はありませんでした。
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 = " ";
}
'richTextBox1.Text = richTextBox1.Text.TrimStart();' 'またはrichTextBox1.Text = richTextBox1.Text.Remove(0,1 ); ' – Nofuzy
@ Nofuzy、RichTextBoxに' .Text'を設定すると**既存の書式は削除されます**このシナリオでは、おそらく望ましい副作用はありません! –