2010-05-25 165 views
16

我需要能夠滾動標籤上的文本,我使用此功能來完成一個tic tac toe遊戲的信用部分。我怎麼能做到這一點,我們只被教導滾動滾動條中的數字值而不是文本。標籤上的滾動條

private void xGameCreditsButton_Click(object sender, EventArgs e) 
     { 
      this.xWinnerLabel.BackColor = Color.White; 
      this.xCreditsScrollBar.Visible = true; 
      this.xWinnerLabel.Text = "This game was made possible with the help of: blah bla blah"; 
     } 

回答

31

不是標籤,而是使用文本框,並根據您的需要設置ScrollBars,MultiLineWordWrap屬性。要禁用對TextBox的編輯(並因此使其行爲與標籤類似),請使用ReadOnly屬性。

+0

好吧,我把它改爲一個文本框,但我需要實現滾動條與設置它們在屬性窗口中,我怎麼能做到這一點? – 2010-05-25 16:57:52

+0

您在屬性窗口中設置的每個屬性也可以在代碼中設置;你的問題已經顯示了一個設置'BackColor'和'Text'屬性的好例子。只要對我在答案中提到的屬性做同樣的事情。 – Heinzi 2010-05-25 17:25:09

+0

您好,我嘗試使用這個文本框,但我的文本換行符不會換行顯示在文本框中,但他們在標籤中。 即時通訊不知道爲什麼作爲它的'Environment.NewLine',但它的確如此我使用標籤,但它不會滾動,有什麼我可以爲此做的? – f1wade 2013-09-02 08:40:52

4

如果它不一定是一個標籤,您可以改爲只讀多行編輯字段。編輯控件將自動滾動。

+0

這是一個更好的主意。 – SLaks 2010-05-25 16:44:35

+0

它不一定是標籤,但滾動條是一個要求是不是有辦法做到這一點與標籤? – 2010-05-25 16:45:43

+0

編號標籤沒有內置滾動條。如果您只想繪製標籤的一部分,則必須自行實施滾動。 (注意:我的經驗更多的是使用WinForms,在WPF中我可能會有一種方法來處理這個問題。) – 2010-05-25 16:54:02

4

只讀的可滾動文本框控件將更容易使用。

如果您確實想使用標籤,則可以將標籤放置在可滾動的Panel控件內,並將標籤的AutoSize屬性設置爲true。

1

因爲有可能是一個理由,不使用文本框(不想文本是可選擇的,能夠複製的實例)這裏是爲我工作的另一種解決方案:

放置在位置面板,讓你想將標籤設置爲AutoScroll屬性爲true。然後將標籤放置在面板中,將其錨定並將其AutoSize屬性設置爲true。如果標籤的文本延伸到面板之外,這將使面板提供滾動條。

如果您希望文本僅在一個方向上滾動(如果您只需要垂直滾動,請設置最大寬度大小,如果您只需要水平滾動,請設置最大高度),則可能需要爲標籤設置MaximumSize。