我是一名在窗體應用程序上工作的學生。在這個應用程序中,我有一個表單,就像顯示標籤的彈出窗口一樣。我想根據標籤的大小來改變窗口的大小。例如,如果標籤有3行,它應該自動顯示所有行。但現在它只顯示一行。我該如何解決這個問題?c#自動更改窗口大小
0
A
回答
2
您需要使用彈出窗體中標籤的字體設置來計算文本的大小。這裏的彈出窗體的Load
事件的例子:
private void Popup_Load(object sender, EventArgs e)
{
messageLabel.Text = TextToShow;
Graphics gfx = this.CreateGraphics();
SizeF textSize = gfx.MeasureString(messageLabel.Text, messageLabel.Font);
Size borders = this.Size - this.ClientSize;
this.Size = new Size((int)textSize.Width, (int)textSize.Height) + borders;
}
此代碼假定你有一個叫TextToShow
傳遞消息屬性,以顯示窗體:
public string TextToShow { get; set; }
可以打開彈出窗體如下:
Popup popup = new Popup();
popup.TextToShow = "Test\nMult-line popup window\n\nLine4\n\nLine 6";
popup.ShowDialog(this);
彈出窗體將縮放到標籤的大小。嘗試調整字體,更改文本等 - 應該正常工作。
希望這會有所幫助!
相關問題
- 1. jQuery動畫更改窗口大小
- 2. Gtkmm - 更改窗口的最小大小
- 3. 防止內容更改時窗口的自動調整大小
- 4. JavaFx元素,根據窗口大小動態更改大小
- 5. 更改glui窗口的大小
- 6. Windows 10 UAP更改窗口大小
- 7. 如何更改窗口的大小DepthBasics
- 8. 當窗口字體更改大小
- 9. 根據窗口大小更改Jquery值
- 10. 根據窗口大小更改img
- 11. MATLAB SPMD和nlfilter - 更改窗口大小
- 12. 更改wxChoice的窗口選擇大小
- 13. 更改窗口顯示大小統一
- 14. 在窗口調整大小更改類
- 15. Greybox疊加層更改窗口大小
- 16. XNA更改窗口大小不工作
- 17. Kivy:如何更改窗口大小?
- 18. 更改可可中窗口的大小?
- 19. 如何更改窗口大小?
- 20. 更改窗口大小PHPUnit Selenium2TestCase
- 21. 根據窗口大小更改列數
- 22. 如何更改默認窗口大小
- 23. c窗口窗體自動調整大小#
- 24. 自動調整WPF窗口大小
- 25. 改變窗口小部件的大小而不改變主窗口大小QT
- 26. 調整窗口大小C#
- 27. GUI窗口大小C#WPF
- 28. 用vb.net中的窗口大小更改按鈕的大小
- 29. Qt5強制TabWidget在窗口大小更改時調整大小
- 30. 使用窗口大小更改jQuery幻燈片大小
[請看看這裏](http://stackoverflow.com/questions/5962595/how-do-you-resize-a-form-to-fit-its-content-automatically)和[Here]( http://stackoverflow.com/questions/4672978/how-to-autosize-the-height-of-a-label-but-not-the-width)。 –
這應該是有用的: [鏈接](http://stackoverflow.com/questions/13185557/my-windows-forms-application-size-is-changing-different-notebooks) –
您可以使用標準屬性可在設計師處獲得。將窗體的AutoSize屬性設置爲True,將AutoSizeMode設置爲GrowAndShrink。要從標籤中獲取多個「行」,必須將其MaximumSize屬性設置爲(100,0),以便強制包裝文本。 –