Merhaba Visual Studio'da .NET 6 (Core) tabanlı uygulama yaparken WebBrowser aracı maalesef çalışmıyor. Bunu fark ettiğimde ondan daha stabil çalışan ve özellik bakımından aratmayan bir araçla tanıştım. Şimdi size bunun kabaca kurulumunu ve kullanımını anlatacağım.
Önce Çözüm Gezgininden projemize sağ tıklayıp NuGet paketlerini yönet seçeneğini buluyoruz.
Açılan pencerede Gözat kısmına tıklayıp arama kutusuna WebView2 yazıyoruz. Burada en üstte Microsoft tarafından yayınlanmış bir paket var onu seçip yükleye basıyoruz.
Birazcık bekleyin yükleme tamamlanınca uyarı gelecek tamam deyin ve araç kutusunda WebView2 olarak arama yapın. Görselde gözüktüğü gibi formun üzerine sürükleyip bırakın.
Bu aracın varsayılan adresini ayarlamak için Özellikler kısmından Source'a istediğiniz adresi başında https:// ekleyerek girmelisiniz.
Bu en basit haliyle kullanma şeklidir. Şimdi birazda temel komutlarından bahsedeyim. Fakat ondan önce size bir şey göstermek istiyorum, bu aracın en sevdiğim özelliği WebBrowser'de olduğu gibi tam ekrana ihtiyaç duymamasıdır yani 500x500 bir forma da ekleseniz siteyi ona göre ayarlıyor 1024x720 formada ekleseniz ona göre ayarlıyor. Edge altyapısı kullandığı için ekran boyutunu algılayıp ona göre mobil versiyonunu gösteriyor. Atıyorum 400px ve 1000px arası değerlerde otomatik mobil siteye yönlendirirken bunun üstünde çözünürlüğe göre siteyi döndürüyor. Diğerinde boyut ne olursa olsun tam ekran değilse sitenin sağını solunu görebilmek için scrollbar'larla devamlı kaydırmanız gerekiyordu bu da hiç estetik ve işlevsel değildi.
Şimdi genel komutlara geçebiliriz. Öncelikle WebBrowser'de olduğu gibi basit bir kullanımı yok yani webbrowser1.navigate yazarak sıyrılamıyorsunuz. Bir buton oluşturup textbox'a girilen veriyi döndürmesini isteyelim. Bu durumda en temel komutumuz WebView22.CoreWebView2.Navigate(TextBox1.Text) şeklinde olacaktır.
Çoğu temel komut /.CoreWebView2 çatısı altında çalıştığı için biraz uzun olabiliyor.
Fakat güzel yanı şu ki geliştirici aracı (F12) ve görev yöneticisi gibi özellikler zahmetsiz bir şekilde entegre edilebiliyor.
WebView22.CoreWebView2.OpenDevToolsWindow() bu komutu herhangi bir butona yazdığımızda karşımıza WebViewer'in çalıştırdığı sitenin devtool'u çıkıyor hemen. Bu gibi özellikleri basitleştirmiş olmaları gayet güzel. Print, cookie manager gibi özellikleri de gayet stabil çalışıyor. Hala WebBrowser kullanan varsa buna geçmesini öneririm iyi forumlar.
Önce Çözüm Gezgininden projemize sağ tıklayıp NuGet paketlerini yönet seçeneğini buluyoruz.
Açılan pencerede Gözat kısmına tıklayıp arama kutusuna WebView2 yazıyoruz. Burada en üstte Microsoft tarafından yayınlanmış bir paket var onu seçip yükleye basıyoruz.
Birazcık bekleyin yükleme tamamlanınca uyarı gelecek tamam deyin ve araç kutusunda WebView2 olarak arama yapın. Görselde gözüktüğü gibi formun üzerine sürükleyip bırakın.
Bu aracın varsayılan adresini ayarlamak için Özellikler kısmından Source'a istediğiniz adresi başında https:// ekleyerek girmelisiniz.
Bu en basit haliyle kullanma şeklidir. Şimdi birazda temel komutlarından bahsedeyim. Fakat ondan önce size bir şey göstermek istiyorum, bu aracın en sevdiğim özelliği WebBrowser'de olduğu gibi tam ekrana ihtiyaç duymamasıdır yani 500x500 bir forma da ekleseniz siteyi ona göre ayarlıyor 1024x720 formada ekleseniz ona göre ayarlıyor. Edge altyapısı kullandığı için ekran boyutunu algılayıp ona göre mobil versiyonunu gösteriyor. Atıyorum 400px ve 1000px arası değerlerde otomatik mobil siteye yönlendirirken bunun üstünde çözünürlüğe göre siteyi döndürüyor. Diğerinde boyut ne olursa olsun tam ekran değilse sitenin sağını solunu görebilmek için scrollbar'larla devamlı kaydırmanız gerekiyordu bu da hiç estetik ve işlevsel değildi.
Şimdi genel komutlara geçebiliriz. Öncelikle WebBrowser'de olduğu gibi basit bir kullanımı yok yani webbrowser1.navigate yazarak sıyrılamıyorsunuz. Bir buton oluşturup textbox'a girilen veriyi döndürmesini isteyelim. Bu durumda en temel komutumuz WebView22.CoreWebView2.Navigate(TextBox1.Text) şeklinde olacaktır.
Çoğu temel komut /.CoreWebView2 çatısı altında çalıştığı için biraz uzun olabiliyor.
Fakat güzel yanı şu ki geliştirici aracı (F12) ve görev yöneticisi gibi özellikler zahmetsiz bir şekilde entegre edilebiliyor.
WebView22.CoreWebView2.OpenDevToolsWindow() bu komutu herhangi bir butona yazdığımızda karşımıza WebViewer'in çalıştırdığı sitenin devtool'u çıkıyor hemen. Bu gibi özellikleri basitleştirmiş olmaları gayet güzel. Print, cookie manager gibi özellikleri de gayet stabil çalışıyor. Hala WebBrowser kullanan varsa buna geçmesini öneririm iyi forumlar.