LabelのAutoSize

siokoshou2005-02-12


.NET Framework2.0だとWinFormのすべてにAutoSizeがついている(?)らしいので、.NET1.1のLabelのAutoSizeでいろいろ遊んでみたら...。

画面のようにぺたぺたとLabelを貼り付けます。Panelの中に入れてみたり、Formのはじっこにおいたり、FlatStyle違いをいくつか貼り付けます。
textboxに文字を入れて「変更」ボタンを押すと各ラベルのtextを変更し、変更後のサイズを表示するようにしてみました。

すると、あら不思議。横にしか伸びないようです...。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformslabelclassautosizetopic.asp
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbconsizinglabelcontroltofititscontents.asp

「可能な場合は次の行に折り返されます」って、嘘ですから!残念!
AutoSizeがtrueの場合、Heightも固定されていて変更できないようですし...。
可能な場合って、いつですか?w

と思っていたら、高さも自動調整するLabelを書いた人発見。コメントでCompactFrameworkで動くバージョンを提供してるスゴイ人までいる!
http://weblogs.asp.net/okloeten/archive/2004/03/30/103384.aspx

今度はこれで遊んでみます。
ところで、.NET2.0のAutoSizeは大丈夫なんでしょうか?


(追記)
英語のMSDNはwidthだけ伸びるって書いてあるし...。やられた。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformslabelclassautosizetopic.asp

(さらに追記)
http://msdn2.microsoft.com/library/s3tb26et.aspx
これを見ると、LabelのAutoEllipsesプロパティではみ出たときに「...」が出せるようですね。表示はできるのかな?AutoEllipsesの説明がリンク切れで見れない...。
まさに...な気持ち。