Visual Studio'da Web Browser Flash Kontrolünü nasıl gerçekleştirebilirim?

elessar (65) 11 yıl önce sordu

Microsoft Visual Studio 2012 kullanıyorum. Visual Studio ile Windows Uygulaması geliştiriyorum ve bu uygulamamda Web Browser kontrolünü kullanıyorum. <svg></svg> etiketleri içerisine hükmedemiyorum.

Uygulama WebBrowser 'da sorunsuz çalışmaktadır. Fakat <svg>...</svg>  etiketleri arasındaki bilgileri değişkene atmam gerekiyor. 

<svg id="deneme">...</svg> 

HtmlElement dnme =  webBrowser1.Document.GetElementById("deneme");

dnme.InnerText => http://www.adobe.com/svg/viewer/install/

Yukardeki şekilde yaptığım zaman adobe sayfasına link veriyor. Debug modunda görüntüleyemiyorum.

alattin 11 yıl önce

hükmetmekten kastınız nedir? SVG etiketleri görüntülenemiyor mu?

alattin 11 yıl önce

Sorun çözüldü mü? yorumunuzu cevap olarak yazdığınız için geç fark ettim.

Toplam 2 cevap


alattin (17095) 11 yıl önce cevapladı

Sorununuz SVG etiketlerinin WebBrowser kontrolü içerisinde görüntülenememesi mi?

Debug işlemi yani F5 tuşuna basarak yaptığınız işlem yanıltıcı olabilir. 

CTRL + F5 yaparsanız  Debug işlemsiz başlatırsınız ve uygulamanız da SVG etiketli elementlerin görüntülenmesi gerekir.

Daha sağlıklı sonuç için Projenizi Debug > Release çevirin ve \bin\Release kalasörü altındaki .exe uygulama dosyasını çalıştırın ve bu şekilde test edin.

SVG desteği için Internet Explorer 8 üzeri, yani Internet Explorer 9 veya Internet Explorer 10 olmalı.

WebBrowser kontrolünün kullandığı internet explorer versiyonunu nasıl değiştireceğinizi buradan öğrenebilirsiniz.

 Aşağıda örnek bir SVG kodu ile daire çizimi var. Örnekteki elemanın id'si svg1

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg id="svg1" xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="200" cy="50" r="40" stroke="black"
  stroke-width="2" fill="blue" />
</svg>

C# ile svg1 elementinin innerHtml özelliğine erişmek için;
 

  HtmlElement svg1 = webBrowser1.Document.GetElementById("svg1");
  string svgIcerik = svg1.InnerHtml;

yeterli olacaktır.  Visual Studio 2010, Windows 7, Internet Explorer 10 ile test ettim.

Yine de sorun yaşıyorsanız şunları deneyin:
Data Execution Prevention (Veri yürütme engellemesi) kapatın.

Başlat > Tüm Programlar > Donatılar > Komut istemi ni sağ tuşla tıklayın. Yönetici olarak çalıştır seçin.

bcdedit.exe /set {current} nx AlwaysOff 


yazın ve enter'a basın.

Visual Studio içerisinde  Build > Configuration Manager 'a gidin ve burada derlemenizi  x86 olarak ayarlayın (eğer degilse)

elessar 11 yıl önce

SVG etiketi aralığındaki bilgileri almam gerekiyor. WebBrowser ' da sorunsuz çalışmaktadır.

alattin 11 yıl önce

cevabı güncelledim, kontrol eder misiniz?

elessar (65) 11 yıl önce cevapladı

Hocam tekrar merhaba, 

<object class="svgsize" id="svgdiagram" data="/Home/GetImage?filename=01_040_007_16.svg" type="image/svg+xml" style="width: 572px; height: 915.2px; overflow: hidden; visibility: visible;">

internet explorer da kodu bu şekil gösteriyor. Ama bu resim üzerinden benim tıklamam gereken yerler bulunmaktadır. Bu kodun içinde ise benim istediğimle alakasız 

<a href="http://www.adobe.com/svg/viewer/install/">http://www.adobe.com/svg/viewer/install/</a> 

bu kod var.