5
考慮這種形式,帶有標籤「觀察家這裏」和按鈕「點擊」:爲什麼控件位於錯誤的地方,如果它們在窗體滾動時被定位?
在按鈕單擊我設置我收到標籤的Left
10(Label1.Left :=10;
)
正確地作爲第二圖像中:
然後,我滾動形式向右:
現在,點擊按鈕後,我得到的一個問題,這是在第4圖像顯示:
標籤的Left
不是10了。它超過10,但我需要它是10.我該怎麼做?
考慮這種形式,帶有標籤「觀察家這裏」和按鈕「點擊」:爲什麼控件位於錯誤的地方,如果它們在窗體滾動時被定位?
在按鈕單擊我設置我收到標籤的Left
10(Label1.Left :=10;
)
正確地作爲第二圖像中:
然後,我滾動形式向右:
現在,點擊按鈕後,我得到的一個問題,這是在第4圖像顯示:
標籤的Left
不是10了。它超過10,但我需要它是10.我該怎麼做?
Label1.Left:= 10;從當前邊框(form1.left)離開的手段10。
so Label1.Left:= 10;不會總是產生相同的結果,這取決於Form1.HorzScrollBar.Position ;
你必須爲如下代碼
Label1.Left := 10 - Form1.HorzScrollBar.Position ;
你可以看到在設計時這個模式通過選擇在Form1的一個組成部分,調整滾動條,可以看到,在Object Inspector離開所選組件的價值也將改變移動滾動條時
你可以把它理解這樣
如果您有HorzScrollBar,那麼如果您添加組件並將它們的左側值設置得非常高,則form1將不會增加其寬度,但其通過滾動條處理的虛擬寬度將增加,所有協調值將賦予與form1無關的值虛擬空間
參閱http://books.google.lk/books?id=V9t0lA-BPUAC&pg=PA349&lpg=PA349&dq=HorzScrollBar.Position+and+left+in+delphi&source=bl&ots=4-VEnO6j9k&sig=mmaYp0uooE-QveNIjUhk5eZoyyU&hl = en&ei = nBegTpT8D4f3rQebkv2JAw&sa = X&oi = book_result&ct = result&resnum = 1&ved = 0CBwQ6AEwAA#v = onepage&q&f = false – VibeeshanRC
任何人都可以告訴我在Visual Studio winforms中是否使用了相同的模式。 – VibeeshanRC
@rakesh如果你認爲這是你想要的答案,你可以接受這個解決方案,或者你可以提供一些反饋 – VibeeshanRC