2010-07-13 25 views
0

我有一個表單,其中有一個水平滾動條,其下方有一個標籤。我在這裏應用了一個縮放實用程序,即每當我按縮放一次,標籤增長1.1倍等等。水平滾動條的大小保持不變,但其位置根據縮放的標籤而變化,即當標籤根據縮放展開或縮小時,它會一直移動。滾動條粘貼在標籤上。在縮放時,水平滾動條和標籤向上移動的距離應該大於它們的位置

現在我面臨的問題是,當我縮放時,縮放發生的很好,但標籤的位置異常改變。它在變焦時上移,但變化太大。底部和標籤之間的距離遠大於水平滾動條和標籤之間的距離。

我使用這個代碼來設置標籤的位置在窗體上:

label.Location = new Point(label.Location.X, this.Height - label.Size.Height); 

如何均勻放大它使得被放大了與標籤下面的距離是均勻的,平等的嗎?水平滾動條移動良好,卡在標籤上方。

+0

沒有看到更多的代碼(這樣我就可以嘗試一下)這很難說,但你需要考慮當前的縮放級別考慮。你能發佈最小的工作代碼,還是鏈接到代碼? – ChrisF 2010-07-13 19:50:26

回答

0

這聽起來像你需要考慮滾動容器的AutoScrollPosition屬性。在重置標籤的位置之前,您可能需要將其重置爲(0,0)。當您滾動時,可見客戶區域的左上角被視爲原點,而不是未滾動容器的「真正」左上角。

例如:

container.AutoScrollPosition = new Point(0, 0); 
label.Location = new Point(0, 0); 
相關問題