2012-06-24 36 views
6

मैं VB.NET 2008 का उपयोग कर WebBrowser नियंत्रण में एक वेबसाइट खोल रहा हूं। वेबसाइट के चौथे पृष्ठ पर, मैं टैब कुंजी को ट्रिगर करके नियंत्रण को ध्यान में रखना चाहता हूं प्रोग्राम के रूप में। मैं निम्नलिखित कोड का उपयोग कर रहा हूं:वेबमाइवर नियंत्रण में एक HTML टेक्स्टबॉक्स या बटन पर फ़ोकस सेट करें

If adtxt.Text = "http://aojsl.com/dfassfeed2.php" Then 
    System.Windows.Forms.SendKeys.Send("{TAB}") 
End If 

हालांकि, मेरा कोड टैब कुंजी को ट्रिगर करने में असमर्थ है। क्या कोई जानता है कि यह काम कैसे करें?

+0

"मेरा कोड अक्षम है" का क्या अर्थ है? क्या आपको एक त्रुटि संदेश मिलता है?वास्तव में क्या होता है? जब आप 'if adtxt.Text' लाइन पर ब्रेक पॉइंट के साथ डीबगर का उपयोग करते हैं तो यह क्या करता है? –

+0

आप इस कोड को कहां डाल रहे हैं? – Ryan

+0

टैब कुंजी का उपयोग न करें, मैं आपको WebBrowser नियंत्रण –

उत्तर

0

विधि 1

Private Sub Form_Load() 
    WebBrowser1.Navigate "http://www.google.com/" 
    Do 
    Thread.Sleep(100) 
    Loop While webBrowser1.IsBusy = True 
End Sub 

Private Sub Command1_Click() 
    WebBrowser1.Document.All("q").focus 'Set focus to the search text field 
End Sub 

Private Sub Command2_Click() 
    WebBrowser1.Document.All("btnI").focus 'Set focus to the google "I Am feeling lucky button" 
End Sub 

विधि 2

मैं इस MSDN thread: Focus issues with System.Windows.Controls.WebBrowser

तो टेक्स्ट बॉक्स या बटन को webBrowser.Document.ActiveElement.Focus() में ActiveElement बदलना होगा से VB.Net करने के लिए इसे बदल दिया।

Public Partial Class Form1 
    Inherits Form 
    Public Sub New() 
    InitializeComponent() 
    Dim host As New WindowsFormsHost() 
    im webBrowser As New WebBrowser() 
    host.Child = webBrowser 
    elementHost1.Child = host 

    webBrowser.Navigate(New Uri("http://www.google.com")) 
    Me.Activated += Function() Do 
     Console.WriteLine(Me.ActiveControl) 
     If webBrowser.Document <> Nothing Then 
     If Me.ActiveControl = elementHost1 AndAlso webBrowser.Document.ActiveElement <> Nothing Then 
      webBrowser.Document.ActiveElement.Focus() 
     End If 
     End If 
    End Function 
    End Sub 
End Class 

विधि 3

एक और तरीका है HTML में यह करने के लिए, उदाहरण के लिए हो सकता है:

OnLoad="document.myform2.mybutton.focus();"> 
0

का कहना है कि आप पृष्ठ के HTML है देता है:

<button id="btn">Ok</button><input id="txt"> 


आप इस तरह से फ़ोकस सेट कर सकते हैं:

If adtxt.Text = "http://aojsl.com/dfassfeed2.php" Then 
    webbrowser1.document.getelementbyid("btn").focus() 
    webbrowser1.document.getelementbyid("txt").focus() 
End If 
+0

लेकिन मेरा प्रोग्राम आईडी – user1473832

0

एक और तरीका है:

GetElementsByTagName(TagName)

का उपयोग का कहना है कि अपने html है देता है:

<button>no</button> 
<button>no</button> 
<button onclick='alert(1);'>--focus me!--</button> 
<button>no</button> 



Dim Elems As HtmlElementCollection 
     Dim WebOC As WebBrowser = WebBrowser1 
     Elems = WebOC.Document.GetElementsByTagName("button") 
     For Each elem As HtmlElement In Elems 
      If elem.InnerHtml = "--focus me!--" Then 
       elem.Focus() 
       elem.InvokeMember("click") 

      End If 

     Next 


एक और एक:

Dim num As Integer = 1 
     Dim elms As HtmlElementCollection 
     Dim wb As WebBrowser = WebBrowser1 
     elms = wb.Document.GetElementsByTagName("button") 
     For Each elem As HtmlElement In elms 
      If elem.Id = "" Then 
       elem.Id = "button" & num.ToString 
       num = num + 1 
      End If 
     Next 

     WebBrowser1.Document.GetElementById("button3").Focus() 
+0

प्राप्त करने में असमर्थ है, ये दोनों काम नहीं कर रहे हैं – user1473832

+0

मुझे अपने पृष्ठ का HTML दें और मैं अपना कोड कस्टमाइज़ करने का प्रयास करता हूं। – RedDm

+0

मुझे लगता है कि इसका समाधान प्रोग्राम कुंजी के अनुसार टैब कुंजी को ट्रिगर करके है। लेकिन मैं टैब कुंजी ट्रिगर करने के लिए कोड नहीं जानता। तो क्या आप मुझे बता सकते हैं कि प्रोग्राम कोड द्वारा स्वचालित रूप से टीएबी कुंजी प्रेस को ट्रिगर कैसे करें ?? – user1473832

0

vb.net में ध्यान फ़ंक्शन का उपयोग करके चयन तत्व ध्यान केंद्रित करने के लिए। उदाहरण के लिए,

Me.WebBrowser1.Document.All.Item("password").Focus() 

यह पासवर्ड नामक तत्व पर ध्यान केंद्रित करेगा!

सही तत्व खोजने के लिए Me.WebBrowser1.Document.All.Item("YOURelement") का उपयोग करें और फिर .Focus() जोड़ें जो आप चाहते हैं उस पर ध्यान केंद्रित करने के लिए! : डी

-1

इस Me.WebBrowser1.Document.All.Item (textbox1.text) .Focus()

एक पाठ बॉक्स और फिर अगर आप इसे spambot करना चाहते हैं आसान हर पता लगाता है अपने प्रकार आप लिखें और भेजें करो