プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[C#] 文字が長い時に三点リーダで省略するには

以前にFlexの場合の三点リーダによる文字列の省略方法の記事をのせましたが、
それ以来、「C# 三点リーダ」で検索いただく方が意外なほど多いです。
やっぱり、FlexよりもC#の利用者のほうが多いんですよね。

C#のラベルなどでの文字列省略はとても簡単です。

ラベルにあるプロパティ”AutoEllipsis”プロパティをTrueにするだけです。

文字列が長くなった際に、末尾が三点リーダ”…”で自動的に省略され、マウスカーソルを当てた時にはツールチップで文字列の全景が表示されます。

注意点としては、ラベルの幅を指定しておくことです。
そうしないとC#さんは、どこまでで省略していいか分かりません。

SizeのWidh、もしくはMaximumSizeのWidthプロパティにはここまでで省略して欲しいという値をセットしておきましょう。

また、ラベルの高さを高くしておくと、内部的には改行されるみたいで、三点リーダが表示されても文字列が上部によってしまいます。
その場合は、ラベルの高さを文字列の高さギリギリにしておくといいと思います。
(一度AutoSizeをTrueにしてみると、ギリギリの高さになります。)

 

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください