Saya merancang aplikasi C # kecil dan ada browser web di dalamnya. Saat ini saya memiliki semua default saya di komputer saya mengatakan google chrome adalah browser default saya, namun ketika saya mengklik tautan di aplikasi saya untuk membuka di jendela baru, itu membuka internet explorer. Apakah ada cara untuk membuat tautan ini terbuka di browser default? Atau ada yang tidak beres di komputer saya?
Masalah saya adalah bahwa saya memiliki browser web di aplikasi, jadi katakan Anda pergi ke google dan ketik "stack overflow" dan klik kanan tautan pertama dan klik "Buka di jendela baru" itu terbuka di IE bukan Chrome. Apakah ini sesuatu yang saya kode salah, atau ada pengaturan yang tidak benar di komputer saya
=== EDIT ===
Ini sangat menjengkelkan. Saya sudah mengetahui bahwa browser itu adalah IE, tetapi saya sudah berfungsi dengan baik sebelumnya. Ketika saya mengklik sebuah tautan, tautan itu terbuka di chrome. Saya menggunakan pengembangan yang tajam untuk membuat aplikasi pada saat itu karena saya tidak bisa mendapatkan c # express untuk memulai. Saya melakukan instalasi windows baru dan karena saya tidak terlalu jauh dalam aplikasi saya, saya memutuskan untuk memulai lagi, dan sekarang saya mengalami masalah ini. Itu sebabnya saya tidak yakin apakah itu komputer saya atau tidak. Mengapa IE memulai seluruh browser saat tautan diklik daripada hanya membuka tautan baru di browser default?
Jawaban:
Anda bisa menulis
EDIT :
WebBrowser
Kontrol adalah salinan IE yang tertanam.Karena itu, semua tautan di dalamnya akan terbuka di IE.
Untuk mengubah perilaku ini, Anda dapat menangani
Navigating
acara tersebut.sumber
Process.Start(e.Url.ToString())
Bagi mereka yang menemukan pertanyaan ini di dotnet core. Saya menemukan solusinya di sini
Kode:
sumber
open
perintah bukannyaxdg-open
RuntimeInformation.IsOSPlatform(OSPlatform.OSX)
atau apakah itu sudah benar di Linux?xdg-command
mengembalikan "xdg-open: command not found". Kemudian saya diuji denganopen
perintah dan bekerja.yang seharusnya bisa menyelesaikan masalah Anda
sumber
Apakah Anda mencoba
Process
seperti yang disebutkan di sini: http://msdn.microsoft.com/de-de/library/system.diagnostics.process.aspx ?Anda bisa menggunakannya
sumber
UseShellExecute
default ke true.true
.Process.Start(url)
, itu tidak membuka jendela browser baru.Lihatlah kontrol GeckoFX .
sumber
Coba ini, cara jadul;)
using: openit ("www.google.com");
sumber
Setelah banyak meneliti saya merasa sebagian besar jawaban yang diberikan tidak akan bekerja dengan inti dotnet. 1
System.Diagnostics.Process.Start("http://google.com")
.; - Tidak akan bekerja dengan inti dotnet2. Ini akan berfungsi tetapi itu akan memblokir pembukaan jendela baru jika browser default adalah chrome
Di bawah ini adalah yang paling sederhana dan akan bekerja di semua skenario.
sumber
Ini membuka default untuk saya:
sumber
dotnet core
melempar kesalahan jika kita gunakanProcess.Start(URL)
. Kode berikut akan berfungsi didotnet core
. Anda dapat menambahkan browser apa saja sebagai gantinyaChrome
.sumber
Di UWP:
sumber
Buka secara dinamis
sumber
perbarui registri dengan versi explorer
@ "Software \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION" saat ini
sumber