次の方法で共有


ボタンやラベルのテキストの末尾に省略記号を表示する方法

download.gifサンプル コードのダウンロード (vbmigtips_AutoEllisis.msi, 475 KB)

※ このサンプルをインストールするには Visual Studio 2005 が必要です。

ボタンやラベルなどのコントロール内のテキストが、コントロールの幅を超える場合があります。その場合、コントロールに入りきれない部分はカットされ、テキストの全文は表示されません。 (図1) 。

AutoEllisis_fig01.jpg
図1

これを回避するため、Visual Basic 6.0 や 以前の Visual Basic .NET では、コントロール内のテキストに合わせて、コントロールのサイズを変更したり、すべてのテキストが表示されるように、ToolTips コントロールを使用したりして、独自に実装する必要がありました。一方、Visual Basic 2005 では、.NET Framework 2.0 のサポートにより、コントロールの幅を超えるテキストが指定されたとき、右端に省略記号 (「...」) を追加し、ポップアップ ウィンドウによってすべてのテキストを表示させることのできる AutoEllipsis プロパティが追加されました。そこで今回は、AutoEllipsis プロパティについて紹介します。

AutoEllipsis プロパティは、下記のコントロールでサポートされています。

・Button コントロール

・CheckBox コントロール

・RadioButton コントロール

・Label コントロール

・LinkLabel コントロール

コントロールの幅を超えるテキストを指定した際に省略記号を表示する場合、対象となるコントロールの AutoEllipsis プロパティを「True」にします (図2) 。

AutoEllisis_fig02.jpg
図2

図1 の各コントロールの AutoEllipsis プロパティを「True」にした場合、図3 のように、コントロールの右端に省略記号 (「...」) が表示されます。

AutoEllisis_fig03.jpg
図3

また、図3 の Button コントロールに、マウスポインタを移動させると、図4 のように、省略された部分を含めたすべてのテキスト内容が表示されます。


  図4

このように、AutoEllipsis プロパティを設定することで、コントロールの幅を超えるテキストが指定された場合は、右端に省略記号が表示されます。しかし、このAutoEllipsis プロパティを設定する場合、AutoSize プロパティを同時に設定することはできません。そのため、AutoEllipsis プロパティを設定する場合は、AutoSize プロパティを 「False」 に設定する必要があります。