Düzeltme: ActiveForm döndürüyor hatalı form

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

174212
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
ActiveForm özelliği <a0>Ekran</a0> nesnesinin sorgulandığında, yanlış form etkin form döndürülür. Bu davranış, yanlış, başka bir formdaki komut düğmesinin etkin özelliği ayarladıktan sonra oluşur. Arama kodu formla gerçekten etkin form olduğunda ikinci form etkin form olarak listelenir.
Çözüm
Bu soruna geçici bir çözüm bulmak için <a0></a0>, düğmenin etkin özelliğini ayarlayan kodundan hemen sonra aşağıdaki kod satırını ekleyin:
   Me.SetFocus				
Durum
Microsoft bu hatanın bu makalenin başında listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır. Bu hata, Visual Basic 6. 0 ' giderilmiştir.
Daha fazla bilgi
Bu davranış, yalnızca düğmenin etkin özellik FALSE olarak ayarlanır ilk kez oluşur. Sonraki girişimler veya düğmenin etkin özellik başlangıçta yanlış ise sırasında bu sorun oluşmaz.

Davranışı yeniden oluşturma adımları

  1. Yeni bir "Standart exe DOSYASı" projesi, Visual Basic 5.0 ile oluşturun.
  2. Bir MDI formu projeye ekleyin.
  3. Standart form projeye ekleyin.
  4. Form1 ve Form2 MDI alt özelliðinin TRUE olarak ayarlayın.
  5. Bir komut düğmesi Form1'ın getirin. "Devre dışı bırak.", resim yazısı ayarlayın.
  6. Bu düğme, Click olayını aşağıdaki kodu ekleyin:
          Form2.Command1.Enabled = False      'Me.SetFocus         'Uncomment to Workaround this Problem      MsgBox Screen.ActiveForm.Name						
  7. Ikinci bir komut düğmesi Form1'e ekleyin. Resim yazısı, "Etkin" olarak ayarlayın
  8. Bu düğme, Click olayını aşağıdaki kodu ekleyin:
          Form2.Command1.Enabled = True						
  9. Bir komut düğmesi için Form2 ekleyin.
  10. MDI formu <a1>Load</a1> olayı aşağıdaki kodu ekleyin:
          Form1.Show      Form2.Show      MDIForm1.Arrange 1						
  11. Projeyi çalıştırın ve sonra "Devre dışı bırak." etiketli düğmeyi tıklatın. Not gerçekten etkin form olduğunda, bu ileti kutusunu "Form2" görüntüler Form1.
  12. "Etkinleştir" etiketli düğmeyi tıklatın ve sonra bir kez daha "Devre dışı bırak" etiketli düğmesini tıklatın. Bu süre, "Form1" şimdi doğru etkin formu döndürülen olduğunu unutmayın.
kbVBp500bug kbVBp600fix kbVBp kbdsd kbDSupport kbVBA kbControl

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 174212 - Son İnceleme: 12/29/2014 11:47:02 - Düzeltme: 2.0

  • Microsoft Visual Basic Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • kbnosurvey kbarchive kbmt kbbug kbfix KB174212 KbMttr
Geri bildirim