MultiLineプロパティがFalseに設定されたEditやMaskコントロールに、改行コードが含まれている文字列を貼り付ける場合、改行コードは削除されないのですか?
対象製品
InputMan for .NET 3.0J
詳細
クリップボードからペーストされたデータに含まれる改行コードは、Multilineプロパティが False の Edit コントロールや、Maskコントロールで入力可能となります。
これは、InputManの仕様にもとづいたもので、クリップボードからペーストされたデータはできるだけ処理しないという方針に添ったものです。
Mask、Editコントロールで次のように処理することで回避することができます。
【Maskコントロール】
次のように書式を設定します。
[VB.NET]
Mask1.Format.Pattern = "[^" & vbCrLf & "]*"
[C#]
mask1.Format.Pattern = "[^¥r¥n]*";
【Editコントロール】
次のように、TextChangingイベントで、改行コードが入力されないようにします。
[VB.NET]
Private Sub Edit1_TextChanging(ByVal sender As Object, ByVal e As GrapeCity.Win.Input.TextChangingEventArgs) Handles Edit1.TextChanging
If Edit1.Multiline = False AndAlso e.Result.IndexOf(ControlChars.CrLf) > -1 Then
e.Cancel = True
Edit1.Text = e.Result.Replace(ControlChars.CrLf, "")
Edit1.SelectionStart = Edit1.Text.Length
End If
End Sub
[C#]
private void edit1_TextChanging(object sender, GrapeCity.Win.Input.TextChangingEventArgs e)
{
if( edit1.Multiline == false && e.Result.IndexOf("¥r¥n") > -1 )
{
e.Cancel = true;
edit1.Text = e.Result.Replace("¥r¥n", "");
edit1.SelectionStart = edit1.Text.Length;
}
}
これは、InputManの仕様にもとづいたもので、クリップボードからペーストされたデータはできるだけ処理しないという方針に添ったものです。
Mask、Editコントロールで次のように処理することで回避することができます。
【Maskコントロール】
次のように書式を設定します。
[VB.NET]
Mask1.Format.Pattern = "[^" & vbCrLf & "]*"
[C#]
mask1.Format.Pattern = "[^¥r¥n]*";
【Editコントロール】
次のように、TextChangingイベントで、改行コードが入力されないようにします。
[VB.NET]
Private Sub Edit1_TextChanging(ByVal sender As Object, ByVal e As GrapeCity.Win.Input.TextChangingEventArgs) Handles Edit1.TextChanging
If Edit1.Multiline = False AndAlso e.Result.IndexOf(ControlChars.CrLf) > -1 Then
e.Cancel = True
Edit1.Text = e.Result.Replace(ControlChars.CrLf, "")
Edit1.SelectionStart = Edit1.Text.Length
End If
End Sub
[C#]
private void edit1_TextChanging(object sender, GrapeCity.Win.Input.TextChangingEventArgs e)
{
if( edit1.Multiline == false && e.Result.IndexOf("¥r¥n") > -1 )
{
e.Cancel = true;
edit1.Text = e.Result.Replace("¥r¥n", "");
edit1.SelectionStart = edit1.Text.Length;
}
}
この文書は、以前は次のFAQ IDで公開されていました : 7585