PowerTools MultiRow for Windows Forms 8.0J
複数行テキスト

GcTextBoxCellではGcTextBoxCell.Style.MultiLineプロパティをTrueに設定すると、セルに複数行の入力が可能なマルチラインモードになります。ここではマルチラインモードの機能について解説します。  
ワードラップ
WrapModeプロパティを使用すると、セルの幅よりも長いの行の折り返し方法を設定することができます。
WrapModeプロパティはWrapMode 列挙体を使用して次の値が設定できます。

WrapModeの値 説明
NoWrap 改行しません。
WordWrap 単語単位で改行します。
CharWrap 文字単位で改行します。

WrapModeをNoWrapに設定した場合、自動的に行が折り返されることはありません。標準のTextBoxでWordWrapプロパティがFalseに設定された場合と同じ動作です。
WordWrapに設定した場合は、単語単位で改行が行われます。標準のTextBoxでWordWrapプロパティをTrueに設定した場合と同じ動作です。
CharWrapに設定すると文字単位で改行が行われます。行のスペースがなくなった位置で折り返されるため、意図しない位置での改行を防ぎます。半角・全角の文字が混在した日本語の文章を表示するのに適した改行方法といえます。
行間のスペース
LineSpaceプロパティを使用すると、行間の幅(スペース)を設定することができます。行間はピクセル単位で設定します。

罫線の表示
GridLineプロパティが参照するLine構造体を使用して行間に罫線を表示することができます。


(図)罫線を表示したマルチランテキスト

Line構造体の次の2つのプロパティで罫線の線種と色を設定することができます。
  • Colorプロパティ(罫線の色を設定)
  • Styleプロパティ(罫線の線種を設定)
以下は罫線を表示したマルチラインテキストの例です。
Imports GrapeCity.Win.MultiRow
Imports InputManCell = GrapeCity.Win.MultiRow.InputMan

Dim GcTextBoxCell1 As New InputManCell.GcTextBoxCell()
GcTextBoxCell1.Style.Multiline = MultiRowTriState.True

' 文字単位で改行するよう設定します。
GcTextBoxCell1.WrapMode = GrapeCity.Win.Editors.WrapMode.CharWrap
' 点線で赤の罫線を表示するよう設定します。 
GcTextBoxCell1.GridLine.Style = GrapeCity.Win.Editors.LineStyle.Dashed
GcTextBoxCell1.GridLine.Color = Color.Red

GcMultiRow1.Template = Template.CreateGridTemplate(New Cell() {GcTextBoxCell1})
using GrapeCity.Win.MultiRow;
using InputManCell = GrapeCity.Win.MultiRow.InputMan;

InputManCell.GcTextBoxCell gcTextBoxCell1 = new InputManCell.GcTextBoxCell();
gcTextBoxCell1.Style.Multiline = MultiRowTriState.True;

// 文字単位で改行するよう設定します。
gcTextBoxCell1.WrapMode = GrapeCity.Win.Editors.WrapMode.CharWrap;

// 点線で赤の罫線を表示するよう設定します。 
gcTextBoxCell1.GridLine.Style = GrapeCity.Win.Editors.LineStyle.Dashed;
gcTextBoxCell1.GridLine.Color = Color.Red;

gcMultiRow1.Template = Template.CreateGridTemplate(new Cell[] { gcTextBoxCell1 });
入力行数の制限
MaxLineCountプロパティを使用して、セルに入力可能な行数を制限することができます。
MaxLineCountプロパティに0以外の値を設定した場合、設定した値よりも後の行には入力ができなくなります。値が0の場合は行数に制限はありません。

行数を制限する際には、GcTextBoxEditingControl.CountWrappedLineプロパティで、ワードラップによる自動改行を考慮するかどうかを設定できます。このプロパティはセルの編集時のみ有効です。このプロパティがTrueに設定された場合は、ワードラップによる自動改行は1行としてカウントされます。つまり、表示上の行数により入力が制限されるようになります。一方、CountWrapedLineプロパティがFalseに設定されている場合は、改行コードによる改行のみカウントされます。
行数の取得
セルに入力されているテキストの行数を取得するには、GcTextBoxEditingControl.GetLineCountメソッドを使用します。このメソッドはセルの編集時のみ有効です。
このメソッドで取得できるのは、セルの表示上の行数です。つまり、ワードラップによる自動改行も1行としてみなされます。
改行コードよって改行された行数を取得するには、Linesプロパティを利用できます。
スクロールバー
セルの編集時のみ有効です。
MultilineプロパティをTrueに設定して GcTextBoxCell を複数行にすると、スクロールバーを表示することができます。表示するスクロールバーの種類は、GcTextBoxEditingControl.ScrollBars プロパティで設定します。
   
参照

 

 


© 2008-2015 GrapeCity inc. All rights reserved.