18

DrawString 関数が文字または単語全体を切り取る方法は、直感に反するものだと思います。テキストの一部を表示すると、何かが欠けていることがはっきりとわかります。

ここではいくつかの例を示します。

StringTrimming.None:ここに画像の説明を入力

StringTrimming.Character:ここに画像の説明を入力

私が欲しいもの:ここに画像の説明を入力 (GIMPモックアップ)

StringTrimming.None は StringTrimming.Character と同じですか? 私の場合、それらはまったく同じように動作するようです。私が見落としていた可能性のあるものはありますか、それともこれは既知の「機能」ですか?

ドキュメントStringTrimming.Noneによると、「トリミングなしを指定します。」

このサイトでは、Java で作成された例があり、「文字」よりも多くの文字を削除するために「なし」と表示されています。

この効果を得るための他のトリックはありますか?

注:「…」などを表示したくありません。これはスペースの無駄だと思いますが、それはおそらくUXの議論です。

4

2 に答える 2

14

テキストが実際には見えないように次の行に折り返されているため、テキストがトリミングされているように見える可能性があります。への呼び出しで、プロパティが に設定されているオブジェクトをGraphics.DrawString渡すことにより、ラッピングを無効にします。StringFormatFormatFlagsNoWrap

StringFormat format =
    new StringFormat
    {
        FormatFlags = StringFormatFlags.NoWrap,
        Trimming = StringTrimming.None
    };
g.DrawString(s, font, brush, rect, format);
于 2013-06-04T14:41:01.427 に答える