PDA

View Full Version : سوال: تغییر دادن option value انتخاب شده در صفحه ی وب با کنترل web browser



Shahab.
چهارشنبه 09 مرداد 1392, 00:40 صبح
سلام دوستان من توی یه وبلاگ یه نظر سنجی ایجاد کردم و گذاشتمش توی یه صفحه ی خالی اینم آدرسش :
http://weekr.rozblog.com/page/poll

حالا میخوام توی برنامم این صفحه رو با وب بروزر باز کنم و کاری کنم تا کاربر از توی خود برنامه بتونه توی این نظرسنجی شرکت کنه

ولی نمیتونم چجوری اگر کاربر کامند 1 رو زد آپشن باتون 1 که توی نظرسنجی هست انتخاب بشه و به همین ترتیب
کامند 2 ---> آپشن باتون 2
کامند 3 ---> آپشن باتون 3

روی کلید ثبت نظر بلدم کلیک کنم ولی نمیدونم آپشن باتون رو چجوری انتخاب کنم

ممنون میشم راهنمایی نمایید؟

SlowCode
چهارشنبه 09 مرداد 1392, 05:32 صبح
سلام
سه تا Option بزار روی فرم و کپشن هاشون رو به ترتیب 1و2و3 و ایندکس 0و1و2 بزار بعد این کد رو بنویس:

Private Sub Form_Load()
WebBrowser1.Navigate "http://weekr.rozblog.com/page/poll"
End Sub

Private Sub Option1_Click(Index As Integer)

For Each Opt In WebBrowser1.Document.Forms(0)
oValue = Opt.GetAttribute("value")
oType = Opt.GetAttribute("type")
If oValue = Index + 1 And oType = "radio" Then Opt.Click
Next

End Sub



نکته: تو خط 9 اومدم type عناصر رو بررسی کردم چون شما دوتا عنصر داری که value 1 دارن یکی radio هست ولی اون یکی input از نوع hidden

Shahab.
چهارشنبه 09 مرداد 1392, 19:17 عصر
مشکل دیگه ای که هست اینه که وقتی آدرس صفحه رو به وب بروزر میدیم که بازش کنه علامت ساعت شنی بطور مقطعی در کنار پوینتر ماوس قرار میگیره !
من نمیخوام این علامت بیاد کنار پوینتر ماوس
توی چندتا از اونت های وب بروزر هم مثل change و ... این کد رو نوشتم تا بلکه از این اتفاق جلوگیری کنم ولی نشد


form1.mousepointer=0

چکارش کنم؟

SlowCode
چهارشنبه 09 مرداد 1392, 21:14 عصر
قبل از خط دوم(یعنی اولین خط) بنویس:
DoEvents

Shahab.
چهارشنبه 09 مرداد 1392, 23:45 عصر
نه با doevents حل نمیشه اصلا ربطی به doevents نداره
شما به مجرد اینکه بگی :


WebBrowser1.Navigate "http://weekr.rozblog.com/page/poll"

پوینتر ماوس کنارش علامت ساعت شنی میاد.
حالا چه قبلش بنویسی doevents چه ننویسی
دستور doevents برای حلقه ها کاربرد داره نه برای اینجا

vbhamed
جمعه 11 مرداد 1392, 03:07 صبح
سلام
دو تا فرم داشته باشيد يكيش همين فرم اصليتون هست و يك فرم ديگه هم اضافه كنيد و يك عدد كنترل وب بروزر رو داخل يك PictureBox درون فرم جديد بزاريد و كدهاي زير رو توش بنويسيد
Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)

SetParent Picture1.hWnd, Form2.hWnd

End Sub

در فرم اصليتون هم كد زير
Private Sub Form_Load()

Show
DoEvents
Form2.WebBrowser1.Navigate "http://weekr.rozblog.com/page/poll"

End Sub

البته حتما اجباري به نمايش فرم نيست (دستور Me.show)
با اينكار فرم اصليتون رو مي‌بينيد و چون وب بروزر داخل فرمي ديگه هست شكل ماوس ساعت شني نميشه و وقتي صفحه لود شد وب بروزر به فرم اصليتون منتقل ميشه

البته بعد از تابع SetParent مي‌تونيد دستور تعيين موقعيت مكاني Picture1 رو هم بنويسيد تا در فرم اصليتون سر جاش نمايش داده بشه

Shahab.
جمعه 11 مرداد 1392, 13:00 عصر
ولی یه مشکل دیگم هست
اونم اینکه وقتی آدرس رو میدیم به وب بروزر یه صدای کوتاهی (افکت صوتی) ! چلک ! میاد که مال خود وب بروزه
اگر توی اینترنت اکسپلورر هم اینتر کنید می بینید که همین صدا میاد
حالا اینو چجوری قطعش کنم؟

SlowCode
جمعه 11 مرداد 1392, 13:28 عصر
اینجا یه پاسخی نوشته شده
http://social.msdn.microsoft.com/Forums/vstudio/en-US/0bd605f8-e9fd-479c-8977-45d50fa60e32/how-to-disable-sound-in-webbrowser

Shahab.
جمعه 11 مرداد 1392, 14:57 عصر
این کدای که توی این صفحه بود مال وی بیه؟
این کدارو وی بی قبول نمیکنه