2017-05-07 4 views
0

リッチテキストボックスを使用して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 = " ";   
    } 
+0

'richTextBox1.Text = richTextBox1.Text.TrimStart();' 'またはrichTextBox1.Text = richTextBox1.Text.Remove(0,1 ); ' – Nofuzy

+0

@ Nofuzy、RichTextBoxに' .Text'を設定すると**既存の書式は削除されます**このシナリオでは、おそらく望ましい副作用はありません! –

答えて

0

ちょうど簡単なテストケースを実行し、あなたがする必要があるすべてはそれを更新するために、リッチテキストボックスにFOCUSを与えることです。

変更:

richTextBox1.SelectedText = " "; 

:を

richTextBox1.Focus(); 
+0

私はうまくいきませんが動作しません。私は今それを試しました。 SelectionCharOffsetとSelectionFontsは更新されます。フォーカスがリッチテキストボックスに返された瞬間に、最初の値に戻ります。私はスペースを追加しない限り。 – Rendon

+0

それから、私のためにうまくいくので、あなたはあなたが示したものよりも多くのことが起こっています。元の投稿をより多くのコードで編集して、何が起こっているのか把握することができます。基本的にRichTextBoxを変更/更新する何かを表示します。 –

+0

上記のNofuzy宛てのコメントに注意してください。どこからでも '.Text'を設定すると、すべての書式設定がリセットされます。あなたのコードのどこかに '.Text'を設定していますか? –

関連する問題