C# ile yeni bir kontrol yazıyorum. Kontrolüm flash'taki workspace'e çok benziyor. Space'e basık tutunca pan yapabiliyorsunuz ve içine objeler yükleniyor. Şimdi sorun şu, uygulama ilk açıldığında ve kontrolüm ana form'un içinde ekranda belirdiğinde scrollbar'ların ortada olmalarını istiyorum. Kontrolüm boyutu 500x500 ve içindeki kaydırdığımız panelin boyutu ise 4000x4000. ve scrollbar'ların 2000x2000 pozisyonunda gelmesini istiyorum. daha sonra kullanıcı kaydırma işlemi yapabiliyor. Araştırdıktan sonra dıştaki panel'in AutoScollPosition özelliğini değiştirince iç nesneleri kaydırabildiğimizi öğrendim fakat bütün denemelerimde scrollbar'lar 0, 0 noktasında geliyorlardı. Taki bir düğme koyup myControl.AutoScrollPosition = new Point(2000, 2000); yapana kadar. Bu kod çok güzel çalıştı ama ben düğmeye basınca değil de ilk açılışta bu kodun çalışmasını istiyordum ama bir türlü çalıştıramadım. Sonra olayın bir zamanlama hatası olabileceği aklıma geldi ve bileşenlerin ControlAdded, Resize, RegionChanged gibi event'lerinde bu kodu çalıştırmayı denedim ama olmadı. En sonunda Layout event'inde ki bu gayet normal :) kod çalışınca scrollbar'lar yerlerine yerleşti :) umarım işinize yarar.


Add comment

  Country flag


  • Comment
  • Preview
Loading