2017-05-31 6 views
0

私はWinFormsアプリケーションで作業しています。私のシナリオでは、セルの長方形のサイズを変更するときに、最後の文字の最初の文字を隠す必要があります。文字を最初から削除し、長方形で描画することでこれを解決できます。チャプターを部分的にセルの四角形内に描画することはできますか?

ここで、セルの長方形のサイズを変更しながら文字を部分的に描画する必要があります。添付の画像を参考にしてください。例えば、セルの値は「20.229.88」であり、セルの値を「0.229.88」にする必要がありますが、「0」は部分的に表示する必要があります。

enter image description here

ことが可能であれば誰も私を助けてください。

ありがとうございます。

+0

使用しているコードを投稿できますか?あなたのタグからGDIの描画を想定して、テキストを描画矩形と右に揃えるようにStringFormatを設定することができます。 – James

+0

あなたが隠しているテキストが常に同じ形式であれば、あなたが望みたくない部分を隠すために何かを置くことを試してみることができます。あなたが見たいと思っている部分がガラスに見えるフレームと壁が残りを隠します。確かに、実際にはこれはやりにくいかもしれません... – Gareth

+0

こんにちは@ジェームス、ここではコードです、私は '文字列を開始する際にテキストを隠すために使用しています= e.DisplayText; SizeF size1 = e.Graphics.MeasureString(テキスト、新しいフォント(e.Style.Font.Facename、e.Style.Font.Size)); while(!e.TextRectangle.Contains(new Rectangle(e.TextRectangle.Location、new Size(int)size1.Width、(int)size1.Height))))) { text = text.Remove(0、 1)。 size1 = e.Graphics.MeasureString(テキスト、新しいフォント(e.Style.Font.Facename、e.Style.Font.Size)); } e.DisplayText = text; ' – Prithiv

答えて

1

StringFormatオブジェクトをDrawStringメソッドに渡すことができます。このメソッドは、テキストを長方形内で右揃えに設定し、左辺を切り捨てます。

var sf = new StringFormat(StringFormatFlags.NoWrap); 
sf.Alignment = StringAlignment.Far; 
sf.Trimming = StringTrimming.None; 

e.Graphics.DrawString("my text", this.Font, Brushes.Blue, new RectangleF(10,0,120,20), sf); 
+0

こんにちは@ジェームズ、ありがとう。その実用的な罰金 – Prithiv

関連する問題