作成日: 2021/03/23 最終更新日: 2021/08/27
文書種別
不具合
状況
修正済み
詳細
C1Editorで選択範囲のテキストの色をApplyStyleを使用して変更しても、選択範囲の色が正しく適用されない場合があります。
例)
1. 2つのC1Editorをそれぞれフォームの左右に配置し、左側のC1Editorに次のように入力します。
AAA
BBB
CCC
2. 以下のコードを設定したボタンを3回クリックして、右側のC1Editorへテキストを3回貼り付けます。
◎サンプルコード(VB)
3. 右側のC1Editorの最初の2行を選択し、色を変更します
4. 右側のC1Editorの3行目と4行目を選択し、色を変更します。
(結果)3行目ではなく2行目の色が変更されます(不正)。
例)
1. 2つのC1Editorをそれぞれフォームの左右に配置し、左側のC1Editorに次のように入力します。
AAA
BBB
CCC
2. 以下のコードを設定したボタンを3回クリックして、右側のC1Editorへテキストを3回貼り付けます。
◎サンプルコード(VB)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
C1Editor1.SelectAll()
C1Editor1.Copy()
C1Editor1.SelectionLength = 0
C1Editor2.Paste()
End Sub
◎サンプルコード(C#) private void button1_Click(object sender, EventArgs e)
{
c1Editor1.SelectAll();
c1Editor1.Copy();
c1Editor1.SelectionLength = 0;
c1Editor2.Paste();
}
3. 右側のC1Editorの最初の2行を選択し、色を変更します
4. 右側のC1Editorの3行目と4行目を選択し、色を変更します。
(結果)3行目ではなく2行目の色が変更されます(不正)。
回避方法
この問題は2021J v1(4.5.20212.513)で修正されました。
※修正版を適用しない場合の回避方法は以下の通りです。
上記の例の場合、貼り付けを実行する前に何らかのテキストを割り当てて、C1Editorコントロールの基盤となっている内部的なWebBrowserコントロールを正しく同期させます。
※割り当てるテキストとして、コピーする際に想定される最大行数分(例えば、コピーした右ペインの行数が8行になる場合は7個以上)の改行コードを設定します。
◎サンプルコード(VB)
※修正版を適用しない場合の回避方法は以下の通りです。
上記の例の場合、貼り付けを実行する前に何らかのテキストを割り当てて、C1Editorコントロールの基盤となっている内部的なWebBrowserコントロールを正しく同期させます。
※割り当てるテキストとして、コピーする際に想定される最大行数分(例えば、コピーした右ペインの行数が8行になる場合は7個以上)の改行コードを設定します。
◎サンプルコード(VB)
Public Sub New()
MyBase.New()
InitializeComponent()
Dim xs As String = C1Editor2.Text
C1Editor2.Text = vbLf + vbLf + vbLf + vbLf + vbLf + vbLf + vbLf + vbLf + vbLf + vbLf
C1Editor2.Text = xs
End Sub
◎サンプルコード(C#)public Form1()
{
InitializeComponent();
string xs = c1Editor2.Text;
c1Editor2.Text = "¥n¥n¥n¥n¥n¥n¥n¥n¥n¥n";
c1Editor2.Text = xs;
}
旧文書番号
86510