2016-06-01 10 views
-2

私のWinFormsアプリケーションのダイアログでラベルを使用しています。 テキストは、ダイアログのコンストーラーメソッドで設定されます。 設定後、テキストが正しく入力されます。この場合 :コントロールとダイアログのラベルテキストが完全に表示されない理由

label1.Text = @"Datum von muss ausgefüllt sein."; 

デザイナーデータが正しいように見えます。

// 
// label1 
// 
this.label1.AutoSize = true; 

// 
// WincaratMessageBox 
// 
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 
this.AutoSize = true; 

ダイアログが表示されるタイミング。ラベルテキストは完全には表示されません。

クイックウォッチでは、label1.Text "Datum von musausgefülltsein。"
と、ダイアログボックスをCtrl + CでコピーしたときにCtrl + Vをメモ帳 にコピーすると、完全なテキストもコピーされます。ボックスが正しく表示されてはるかに長い文章と他のいくつかのケースでは

Displayed Dialog

Correct Dialog

EDIT 1: 私は私のLabelTextにいくつかのEnvironment.NewLinesを追加すると、テキストが完全に表示されています。 Label AutoSizingが正しく機能していないようです。

私は間違っていますか?

+3

ラベルに重複する何らかのコントロールがありますか?たとえば、枠線のないパネルは見えません。 – Steve

+0

ダイアログには、ラベルと重複する可能性のある他のコントロールはありません。 ボタンが下部にあります。 – dertrautmann

+0

レイアウトコントロールはありますか? – Reniuz

答えて

-1

ラベルの明確な位置を定義していません。テキストが十分に長い場合、ラベルの位置が変わります。たぶん、ラベルの適切な位置を定義する必要があります。

+0

私は場所が定義されています。 this.label1.Location = new System.Drawing.Point(84,9); – dertrautmann

+0

あなたの質問にそれを書いてください。 – Garamaru

0

は、手動で

あなたがAutoSizeをしたい場合

this.label1.AutoSize = false; 
trueするデザイナーでサイズを.changeので、あなたは(あなたがラベルに表示したいテキストの長さに関連する)ラベルのサイズを変更することができ falseから AutoSizeを設定します Labelの位置にメッセージを表示するのに十分なスペースがある場所を設定する必要があります。他のコントロールの下に表示されます。

+0

しかし、私はターゲットのサイズを計算する必要があるので、私はそれらがすべてラベルに表示されるようにしたい別の長いテキストがありますか?文字の数、newLinesとそのもので? – dertrautmann

+0

ラベルの罫線をドラッグしないで、最大のメッセージ – mohsen

+0

が表示されると思うようになるまで拡大してください。ダイアログボックスはメッセージボックスのように表示され、実行時に動的に拡大する必要があります。しかし、それは私のケースでは他のコントロールの下にはない、それは完全に表示されていない? – dertrautmann

0

Enivroment.New Lineをテキストに追加して、ラベルの自動サイズ調整w orksとTextは切断されません。

ご支援いただき、ありがとうございます。

関連する問題