PDA

نسخه کامل مشاهده نسخه کامل : قرار دادن html در يك فرم vb



mehdionline
11-11-2005, 11:36
سلام من میخوام بذونم چه طوری میتونم در یک ویندوز اپلیکیشن با زبان vb در Microsoft Visual Studio .NET 2003 میتونم یک فایل html رو وارد کنم یعنی اینکه فرم برنامه من داخل خودش یک فایل html رو نشون بده مثلا مثل برنامه بروز کردن mcafee

bithiah
11-11-2005, 12:39
اینطور که من متوجه شدم، شما در واقع می خواین کنترل Web Browser رو روی فرمتون داشته باشین.
برای اینکار روی Toolbox کلیک راست کنین و گزینه Add/Remove Items... رو انتخاب کنین.
از پنجره ای که بنام Customize Toolbox باز می شه، تب COM Components بدنبال Microsoft Web Browser بگردین (shdocvw.dll) و چک باکس مربوط به اون رو تیک بزنین و OK کنین.
می بینین که کنترلی به اسم Microsoft Web Browser به منوی کنترلهای Windows Forms اضافه شده. حالا می تونین اون رو روی فرمی که می خواین بندازین.
این کنترل در VB 6.0 اسمش همین هست، منتها در لیست Components اسمش هست Microsoft Internet Controls.
برای browse کردن یک فایل HTML باید با استفاده از متود Navigate این کنترل و دادن آدرس کامل اون page این کار رو انجام بدین.
اگه در مورد نحوه کار این کنترل سوالی داشتین می تونین از MSDN استفاده کنین و یا سوالتون رو اینجا بذارین.
این هم یه نمونه کد:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
موفق باشین

mehdionline
12-11-2005, 11:39
از راهنمایی خیلی خوبتون بسیار سپاس گذارم ولی دو تا سوال دیگر هم دارم که اگر جواب بدید عالی میشه؟
یکی اینکه من میتونم کار کنم که برنامه چک کنه اگر دید ارتباط با اینترنت هست صفحه WebBrowser رو نشون بده و اگر دید که ارتباط با اینترنت برقرار نیست بگه که شما باید به اینترنت وصل بشید یا به نوعی اصلا صفحه WebBrowser رو نشون نده؟

دوم اینکه من چه طوری میتونم به یک باتن یا لینک بگم که بعد از کلیک شدن روش یک فورم دیگه که داخل پروژه هست رو به صورت
_self یا _blank نشون بده
خیلی ممنون میشم راهنماییم کنید.

bithiah
12-11-2005, 15:21
دوست عزیز،
قابل شما رو نداشت.
برای سوالهای جدیدتون بهتر بود یه تاپیک جدید می زدید. با وجود این، در مورد سوال اولتون:

برای بررسی اینکه آیا کامپیوتر به اینترنت متصل هست یا خیر، از یکی از این سه روش می توان استفاده کرد:

1. آسانترین راه:
از طریق رجیستری و کنترل مقدار کلید HKEY_LOCAL_MACHINE\System\CurrentControlSet\Servic es\RemoteAccess با استفاده از تابع RegOpenKey درون advapi32.dll. متاسفانه این روش تنها بدنبال اتصال توسط مودم می گردد. اگر از طریق LAN به اینترنت وصل شوید، این متود اگر متصل باشید هم مقدار False برمی گرداند.
* من این روش رو پیشنهاد نمی کنم، چون هم با VB 6.0 و هم با .Net امتحانش کردم. به اینترنت وصل بودم، اما گفت وصل نیستید.

2. استفاده از تابع API:
تابع InternetGetConnectedStateEx از لایبراری wininet.dll. بوسیله این تابع علاوه بر یافتن اینکه آیا کامپیوتر به اینترنت وصل هست یا خیر، اطلاعات بیشتری نیز راجع به اتصال، از جمله نوع اتصال(LAN/Modem)، استفاده از پروکسی، نصب RAS و وضعیت Online/OffLine می توان دریافت کرد. این تابع خوب کار می کند، اما یک اشکال هم دارد. اگر کامپیوترتان به شبکه محلی (LAN) وصل باشد، اما شما از طریق مودم به اینترنت متصل شوید، چه به اینترنت وصل باشید، چه نباشید، این متود همیشه مقدار True را برمی گرداند.

3. ping مستقیم به یک آدرس اینترنتی(URL) و بررسی خطاهای اتصال:
برای مثال ping به آدرس [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] این روش نسبت به روشهای قبلی خیلی سریع نیست، اما در مقایسه با آنها قابلیت اطمینان بیشتری دارد.

منبع: نمونه کدی از سایت [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] که VB 6.0 تحت بود ولی از اینجا می تونین VB 6.0 و .Net رو یکجا دانلود کنین. upgrade ش کردم:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

این هم یه نمونه کد .Net دیگه است که البته من خودم هنوز فرصت نکردم ببینیم چقدر مفیده، امتحانش کنید:

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

می تونین بعد از اینکه چک کردید و متوجه شدید که کامپیوتر به اینترنت وصل نیست، خاصیت Visible کنترل WebBrowser تون رو False کنید.


و اما در مورد سوال دوم:
می شه لطفا بگین منظورتون از blank_ یا self_ چیه؟

mehdionline
12-11-2005, 17:41
منظورم از blank_ این هست که یک فورم جدید رو باز کنه مثل فورم درباره نرم افزار که در همه برنامه ها هست و منظورم از self_ این هست که داخل خود فورم قبلی باز کنه مثل کدهای html
در ضمن از اینکه جوابم رو دادید سپاس گذارم

mehdionline
12-11-2005, 17:54
در ضمن من نمیدونم چرا نتونستم این فایل رو دانلود کنم
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
چون فیلتر بود برای من.
در ضمن کمی راجب به روش ping توضیح دهید ممنون

bithiah
13-11-2005, 08:29
دوست عزیز حق با شماست.
من هم شب گذشته به لینک بالا دسترسی نداشتم، ولی الان چرا. با وجود این براتون اینجا هم آپلودش کردم:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
روش Ping هم برای بررسی اتصال به اینترنت در واقع از یک تابع API با نام InternetOpenUrl استفاده می کنه.
وقتی این نمونه کد رو بگیرین مسلما پاسخ سوالتون رو هم می گیرین.
در مورد سوال دومتون. باز هم نمی دونم منظورتون رو درست متوجه شدم یا نه. برای اینکه یه فرم رو مثل فرم About درون برنامه نمایش بدین باید از خط دستور زیر استفاده کنین:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و اگه می خواین فرمتون درون یه فرم دگه باز بشه، بایستی فرم اول رو child فرم دوم تعریف کنین.
اگر من اشتباه متوجه منظورتون شدم، لطفا تذکر بدید.
موفق باشید.

Vb1471
01-05-2010, 23:36
سلام :
ابتدا بايد كامپونت WebBrows را اضافه كرده و كد زير را بنويسيد:

Private Sub Form_Load()
آدرس فايل را دقيق بنويسيد مثلاWebBrowser1.Navigate ("C:\Help\1.html") :
End Sub