2017-01-11 5 views
0

私は以下のように定義された右下の隅にLabelがありUserControlありますWindowsフォームラベルの位置の問題

 this.lblInspectionName.AutoSize = true; 
     this.lblInspectionName.Font = new System.Drawing.Font("Segoe UI", 10.25F, System.Drawing.FontStyle.Bold); 
     this.lblInspectionName.Location = new System.Drawing.Point(3, 7); 
     this.lblInspectionName.Name = "lblInspectionName"; 
     this.lblInspectionName.Size = new System.Drawing.Size(113, 19); 
     this.lblInspectionName.TabIndex = 0; 
     this.lblInspectionName.Text = "___"; 

他のイベントに基づいて、そのTextコンテンツの変更を。問題は、Labelが大きくなると左に移動します(そうしないと、右の境界を越えてしまいます)。しかし、再び小さくなると、前のケースと同じ位置になります。

Initial situationSecondThird

私はラベルが必要なときに常に保持権の国境にある一定の距離/マージン左に成長させることができます知っていますか?前もって感謝します!

Dock and text alignment properties updadted - Autosize = false

+0

ユーザーコントロールでテストできませんでしたが、Dock = BottomとTextHAlign = Rightを試しましたか? – Steve

+0

問題は解決しません。ラベルは、他のコントロールをカバーする左下の境界線に移動します。 –

答えて

1

私は設定これらのプロパティを追加します

this.lblInspectionName.Dock = DockStyle.Bottom; 
this.lblInspectionName.TextAlign = ContentAlignment.BottomRight; 

しかし、あなたはAutoSizeプロパティを設定する必要があります。

EDIT

示唆したように行うには、状況は以下のとおりです。 falseに戻る。

// Comment out this line. False is default 
// this.lblInspectionName.AutoSize = true; 
+0

あなたが示唆するように、ラベルはUserControlの左下隅に移動し、他のコントロールをカバーします。 –

+0

AutoSize設定を削除すると、正常に動作することが判明しました。 – Steve

+0

また、場所の設定を削除して、winformエンジンでドッキングと配置のプロパティをフルに使用するようにしてください。 – Steve