2012-10-02 76 views
-1

我試過尋找很多地方的問題我有一個問題的答案,到目前爲止我什麼也沒找到。更改文本框文本會導致父窗口調整大小不合適

我現在擁有的是一個c#windows窗體,裏面有用戶控件。一些用戶控件內部有其他控件。當我更改文本框中的文本時,會發生什麼情況,當其更改窗口大小時,它的父窗口將不再調整大小。即使水平滾動條在該特定窗口中被禁用,也將出現水平滾動條。它幾乎就像改變文本改變了父窗口的樣式。

如果這太含糊不清,我有一個面板內的文本框,其中有一個設置爲填充的停靠屬性。該面板有一個10的填充,以允許文本框爲審美目的有一些空白空間。這個控件駐留在一個父控件中(我們稱它爲父控件1),它又駐留在另一個控件中(我們稱它爲父控件2)。所以,當我改變文本框的文本(根本就是添加一個空格)時,會使父級2有一個水平滾動條閃爍,有時甚至在手動調整窗體大小時仍然保留。

+1

請添加一個小代碼片段,顯示你如何設置這一切。 – CrazyCasta

回答

0

你應該確保不僅在UserControlTextBox停靠填補,而且用戶控件本身和它的母公司(及其母公司)被正確停靠或具有錨定集合,使它們與形態調整。

用戶輸入字符時是否執行任何特殊代碼? (KeyPressed事件等)。如果是的話,你應該嘗試暫時停用這些事件,看看它們是否會導致問題。

如果您發佈代碼示例,它會更容易幫助。沒有這個,我們只能猜測,就像我試過的...

0

我發現了我的問題!當使用autoScrollBars和雙緩衝時,當調整窗口大小時,它會導致水平滾動條顯示它不應該(至少在我的情況下)。答案很簡單,忘記autoScrollBars,並實現我自己的垂直滾動條!

我實際上得到了一些代碼在這裏張貼給你們看,但是當看着它時,我決定忘記autoscroll,並且看它工作!

我其實很好奇,但爲什麼。我的朋友聽說.net與autoScroll有一些問題,但我不認爲它會達到這個程度。

相關問題