簡體   English   中英

標簽文字從右到左更新

[英]label text update from right to left side

在我的情況下,如何使用幾個更新的值設置標簽字符串:

 label1.Text = (num1 + "." + num2 + "." + num3);

並非以通常的方式:

                        123.8576.87687
                        17.87.1299987
                        9881.0.87
                        765443345600.08776.877667
                        09.8.112

但是如果我想將其從表單的右邊界附近移到右側,則從右向左進行更新,並且如果該數字是一個標簽的給定字符串的一系列更新值,則每個時間字符串的長度都不同:

           123.8576.87687
            17.87.1299987
                9881.0.87
765443345600.08776.877667
                 09.8.112

這種方式:

           87687.8576.123
            1299987.87.17
                87.0.9881
877667.08776.765443345600
                 112.8.09

在表格的一角找到它:

在此處輸入圖片說明

嘗試將AutoSize設置為false並將TextAlign設置為MiddleRight

label1.AutoSize = false;
label1.TextAlign = ContentAlignment.MiddleRight;

您可以如下定義label textAlign屬性:

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;

基本上,您應該做兩件事:

像這樣設置TextAlign屬性:

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;

然后將AutoSize屬性設置為false:

this.label1.AutoSize = false;

確保標簽的大小足夠大以適合所有數字。 在此處輸入圖片說明

我有一個理論,標簽文本和自動調整大小的問題在於,自動調整大小會使文本字段的大小恰好等於文本所需要的大小。 因此,將contentalignment放在何處都沒有關系。 該字段根據包含文本所需的空間來更改大小。 位置不變。 因此,要解決此問題,您必須操縱標簽的位置。

labData.Text = "text"
int labDataRight = lblData.Right;
lblData.Text = "A slightly longer text"; // Autosize will resize the label
lblData.Left = labDataRight - lblData.With;

我尚未對此進行深入測試,可能是標簽位置在進行許多更改后會發生漂移。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM