Kullanıcı ve alıcı arasındaki iletileri görüntülemek için System.Windows.Forms.WebBrowser Denetimini kullanarak basit bir sohbet uygulaması üzerinde çalışıyorum. Kontrole ilişkin DocumentText'i her güncellediğimde kontrolü otomatik olarak aşağı kaydırmak için nasıl alabilirim?WebBrowserControl Scroll to Bottom
cevap
Teşekkürler çocuklar girme o kullanırsınız - ikinizi de oy verilen ancak ne için dışarı çalışacak benim durumum. Ne yaptım bitti
Eğer bunu VB'de yapıyorsanız, Integer.MaxValue kullanmayın, Int16 kullanın .MaxValue yerine. – Andy
Ben AutoScrollOffset özelliğini kullanın ve onu WebBrowser denetiminin sol alt set, bu nedenle bir şey gibi olacaktır:
webCtrl.AutoScrollOffset = new Point(0, webCtrl.Height);
Bu muhtemelen overkill, ama aynı zamanda WebBrowser denetimi komut dosyası çağırmak ve daha sonra olabilir Gövde etiketinin kaydırma özelliklerini kullanın. Veya pencerenin scrollTo yöntemi.
Komut dosyasını çağırmak için WebBrowser denetimi, DOM'dan belge nesnesini temsil eden bir Document özelliğine sahiptir. InvokeScript adında, çalıştırılacak bir JavaScript dizesini geçirebileceğiniz bir yöntemi vardır.
Ama ... AutoScrollOffset özelliği çalışıyorsa ... evet, sadece yerine JavaScript :)
Üstte kaydırma pozisyonuna devam edebilir ve üstüne yeni mesaj ekleyebilirsiniz. , Alta twitter :) gibi onun göz kaydırma gerekmez
user2:
new message ← a new message is insert on top
user1:
old message
public virtual void ScrollMessageIntoView()
{
System.Windows.Forms.Application.DoEvents();
if (browser == null || browser.IsDisposed)
return;
if (browser.Document == null)
{
browser.Document.Window.ScrollTo(0,
browser.Document.Body.ScrollRectangle.Height);
}
}
benzer soru: [? System.Windows.Forms.WebBrowser sonuna kadar kaydırmak için nasıl] (http: //stackoverflow.com/questions/990651/how-to-scroll-to-end-of-system-windows-forms-webbrowser) – infografnet