الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

..فتح ملفات Pdf ب Vb 2005 من خلال أداة الويب براوز ..

بدأه وفاء ثابت في 29 يناير 2009 · 4 رد · 759 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

أعزائي .. لدي سؤال ..

وهو أنني قمت بفتح ملفات pdf بالفيجوال بيسك 2005 عن طريق أداة الويب براوز وذلك بواسطة الكود التالي :

form1.WebBrowser1.Navigate(Application.StartupPath & "\bl-a.PDF")

فإذا قمت بعمل تنفيذ فإنها تشتغل تمام وجميع الملفات تفتح ..

أما إذا عملت ستوب للتنفيذ وأتيت لأضع إيقاف تشغيل للجهاز تظهر لدي رساله ..

وهي

................................................................................

...............................................

هناك واحد أو أكثر من وثائق pdf مفتوحه من خلال متصفح الويب ، إذا قمت بالخروج من adobe reader الآن فإن هذه الوثائق سوف تغلق

هل أنت متأكد من أنك تريد الخروج ؟

................................................................................

...............................................

مالعمل أريد إذا أوقفت التنفيذ تغلق جميع الملفات التي تم فتحها ..

وجزاكم الله خيرا

#2

....... ماذا بكم ألا يوجد حل لهذه المشكله ...؟؟؟

#3

مرحباً أختي الكريمة .

مشكلتك فريدة من نوعها فلم أواجهها سابقاً, أمل أن يفيدك :

 

    [color= #000000; font-weight: bold;]Private Sub Form1_FormClosing[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].FormClosingEventArgs[color= #009900;]) Handles Me[color= #339933;].FormClosing

        WebBrowser1[color= #339933;].DocumentStream [color= #339933;]= Nothing

    [color= #990000;]End Sub

أو

 

    [color= #000000; font-weight: bold;]Private Sub Form1_FormClosing[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].FormClosingEventArgs[color= #009900;]) Handles Me[color= #339933;].FormClosing

        WebBrowser1[color= #339933;].Dispose[color= #009900;]([color= #009900;])

    [color= #990000;]End Sub

بالتوفيق .

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

#4

جزاك الله خيرا ..

لقد قمت بوضع هذا السطر من الكود في الحدث formclosing

form1.WebBrowser1.DocumentStream = Nothing

وأيضاً قمت بتجربة هذا الكود:

form1.WebBrowser1.Dispose()

والحمدلله قمت بإقفال الكمبيوتر ولم تظهر أي رساله ..

ولكن ما معنى الكود البرمجي وأيضاً الكود الآخر الذي تفضلت بكتابته

ومالفرق بينهما وأيهما أفضل يعني .. ماذا أستخدم في حالتي هذه؟

تم تعديل هذه المشاركة بواسطة وفاء ثابت في 30 يناير 2009 في 14:49

#5

مرحباً أختي الكريمة .

جيد أنه تم حل المشكلة, مع أني توقعت أنه ليس الحل لذلك :) .

بالنسبة للحل الأول وهو ( DocumentStream = Nothing ) شبيه بالحل الثاني وهو إيقاف المهام بشكل مفاجىء, طبعاً هذا يؤدي الى عدم إنفجار أي حدث من الأحداث .

بالنسبة للحل الثاني وهو ( WebBrowser.Dispose ) قمنا بإستخدام هذه العملية لنفي الـ WebBrowse بشكل كامل أي لن يقدر أيضاً أن يقوم بأي من أحداثه .

جربي المثال التالي لتفهمي المقصود, عليّك إنشاء مشروع جديد وإضافة زر على الـ Form ومن ثم لصق الـ Code في Code الـ Form, بعد تنفيذ المشروع قومي بالنقر على الزر المضاف لتظهر لك Form جديدة حاولي إغلاق تلك الـ Form عن طريق زر X و من ثم حاولي إغلاقها عن طريق الضغط عليها .

 

[color= #000000; font-weight: bold;]Public [color= #000000; font-weight: bold;]Class Form1

 

    [color= #000000; font-weight: bold;]Private Sub Button1_Click[color= #009900;](ByVal sender [color= #b1b100;]As [color= #990000;]System[color= #339933;].Object[color= #339933;], ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;]) Handl
es Button1[color= #339933;].Click

        Dim Frm [color= #b1b100;]As [color= #000000; font-weight: bold;]New Form

        AddHandler Frm[color= #339933;].FormClosing[color= #339933;], AddressOf Form_FormClosing

        AddHandler Frm[color= #339933;].Click[color= #339933;], AddressOf Form_Click

        Frm[color= #339933;].Show[color= #009900;]([color= #009900;])

 

    [color= #990000;]End Sub

 

    [color= #000000; font-weight: bold;]Private Sub Form_FormClosing[color= #009900;](ByVal sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal e [color= #b1b100;]As [color= #990000;]System[color= #339933;].Windows[color= #339933;].Forms[color= #339933;].FormClosingEventArgs[color= #009900;])

        MsgBox[color= #009900;]([color= #0000ff;]"Done"[color= #009900;])

    [color= #990000;]End Sub

 

    [color= #000000; font-weight: bold;]Private Sub Form_Click[color= #009900;](ByVal Sender [color= #b1b100;]As Object[color= #339933;], [color= #990000;]_

    ByVal E [color= #b1b100;]As [color= #990000;]System[color= #339933;].EventArgs[color= #009900;])

        CType[color= #009900;](Sender[color= #339933;], Form[color= #009900;])[color= #339933;].Dispose[color= #009900;]([color= #009900;])

    [color= #990000;]End Sub

 

[color= #990000;]End [color= #000000; font-weight: bold;]Class

لاحظي أنه إن قمت بإغلاق الـ Form عن طريق الزر X ستظهر لك رسالة تقول Done, وإذا نقرتي على الـ Form ذاتها سوف لن تظهر تلك الرسالة ( السبب إستخدامنا العملية Dispose والتي تنفي اي الصفوف الداعمة لها بشكل كامل ومباشر .

لأي أسئلة أخرى <> لاتترددي

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 30 يناير 2009 في 21:05

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

مواضيع مشابهة