- PR -

[ASP.NET]Labelコントロールの表示文字列が長い場合の自動サイズ補正の抑止

1
投稿者投稿内容
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2004-10-05 10:47
タイトルどおりです。

ASP.NETのLabelコントロールを使って取得データの表示を行おうと考えてますが、表示文字列データが長いものは勝手に改行されてコントロールサイズがデザイン時に指定したものから自動的にサイズ補正されて表示されてしまうため予期しているデザインが崩れてしまいます。
この自動補正を抑止する方法はないでしょうか。

Labelのプロパティを見たところMultiLineプロパティなど、それっぽいものがないようなのですが、この場合はTextBoxを使うべきなんでしょうか。


[ メッセージ編集済み 編集者: てつ 編集日時 2004-10-05 10:54 ]
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2004-10-05 11:55
「自動サイズ補正」ってどの現象のことですか?指定したheightを超えて
改行していってしまう、ってことですか?
それでは、文字列が長くなった場合にどう「抑止」したいですか?
・どんなに長くても1行で表示する、とか
・その部分だけスクロールバーをつける、とか

あと、asp.netでなくHTMLだったらどうしてたか、を考えるといいかもしれません。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-10-05 12:11
こんにちは。

HTMLで表示された際にどうなっているのか一度確認されてみては?

どうしてもLabelがいいということであれば、
1行あたりの文字数を決めてプログラムでガリガリ処理してやる必要があります。
#どちらにしろユーザスタイルシートでフォントサイズを変えられると崩れますが。

なので、TextBoxの方が楽だと思いますよ。
設定次第でLabelのように表示できますし。

ただ、TextBoxの場合1点だけ問題があったので、その際の解決先を。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7305&forum=7

#それか、Labelなどのコントロールサイズが変わっても全体のレイアウトが崩れないよう工夫してみるとか。

_________________
負けないように枯れないように笑って咲く花になろう

[ メッセージ編集済み 編集者: まゆりん 編集日時 2004-10-05 12:12 ]
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2004-10-05 12:11
現象の説明が不十分でした。申し訳ありません。

>指定したheightを超えて 改行していってしまう、ってことですか?
はい、その現象です。

>それでは、文字列が長くなった場合にどう「抑止」したいですか?
どんなに長くても1行で表示する、の方法で抑止したいと考えております。


HTMLだったら、ですか。
文字を切るくらいしか思いつきません…。
すいません。。。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2004-10-05 12:19
おっと失礼、widthの方かと思い込んで書いていました。
改行したくないということですね。


Tableならできそうですね。
_________________
まゆりん @ わんくま同盟
Blog る。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-10-05 12:25
<pre>とか。
テーブルの<td nowrap>とか。

コード:
ああああああああああああああああああああああああああああああああああああああああああああ

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2004-10-05 13:05
あとは、<nobr></nobr>で囲ればその部分は改行されなくなりますね。
どの方法もwidthどころかブラウザの幅を超えても1行で表示されますが。

[追記]
改行したくないけど、長い場合はどこかで区切りたい、という場合は
やはりTextBoxを細工するか、あとはdivで細工する方法あたりですかね。

[ メッセージ編集済み 編集者: べる 編集日時 2004-10-05 13:34 ]
tpkr
ベテラン
会議室デビュー日: 2003/02/24
投稿数: 55
投稿日時: 2004-10-05 21:03
みなさんありがとうございました。
結局TextBoxを使うことにしました。
1

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