- PR -

Labelで自動改行されない方法

1
投稿者投稿内容
MAT
会議室デビュー日: 2005/03/14
投稿数: 2
投稿日時: 2005-03-14 11:39
こんにちは。

Windowsアプリケーションで、
Labelで自動改行されてしまって困っています。改行されない方法をご存知の方がいらっしゃいましたらご教授願えないでしょうか。

AutoSizeをTrueにすると改行はされなくなるのですが、Labelの幅も変わってしまいます。
幅はそのままで改行だけされないようにする方法がわかりません。
入りきらない文字は表示されなくてかまいません。

宜しくお願いします。
ぼのぼの
ぬし
会議室デビュー日: 2004/09/16
投稿数: 544
投稿日時: 2005-03-14 14:58
引用:

改行されない方法をご存知の方がいらっしゃいましたらご教授願えないでしょうか。

入りきらない文字は表示されなくてかまいません。


2つほど見つけました。
1つ目は、Labelの高さを調整して一行しか見えない高さにする。
そうすると、自動改行されちゃうんですが2行目以降隠れてしまって期待通りの表示になります。

2つ目は、Labelの代わりにTextBoxを使う方法。
ReadOnly、BackColor、BorderStyle、TabStopなどのプロパティをうまくいじるとラベルみたいになります。
壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 2005-03-14 15:18
引用:
1つ目は、Labelの高さを調整して一行しか見えない高さにする。
そうすると、自動改行されちゃうんですが2行目以降隠れてしまって期待通りの表示になります。



この場合、Graphics.MeasureStringメソッドを使えば一行分の高さが求められますね。
SizeFで返されるので、丸めないといけませんが。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-03-14 22:50
まず、LabelのAutoSizeをTrueにするか、または改行されないくらい十分にWidthを
大きくする。

そして別の、Textが空白のLabel、を上からかぶせる。

こうすれば、自動改行はされないけど、自分で改行した場合(プログラムで\r\n入れた
とき)は改行されて2行以上でも表示できる。
MAT
会議室デビュー日: 2005/03/14
投稿数: 2
投稿日時: 2005-03-22 13:27
うまく表示できるようになりました。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)