未指定论点 [英] arguement not specified

查看:87
本文介绍了未指定论点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我有一个问题,我已经在网上搜寻了一个问题,但是找不到解决方案.基本上,当我调试它时,未为私有子项items_click的参数发送者指定争论(byval发送者为system.object,byval e为system.eventargs)
这是我的代码

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
        Dim b As New ToolStripButton(WebBrowser1.Url.AbsoluteUri)
        ToolStrip1.Items.Add(b)
    End Sub

    Private Sub addLink(ByVal url As [String], ByVal name As String)
        Dim myXml As New XmlDocument()
        Dim el As XmlElement = myXml.CreateElement("link")
        el.SetAttribute("url", url)
        el.InnerText = name

        If Not File.Exists(linksXml) Then
            Dim root As XmlElement = myXml.CreateElement("links")
            myXml.AppendChild(root)
            root.AppendChild(el)
        Else
            myXml.Load(linksXml)
            myXml.DocumentElement.AppendChild(el)
        End If
        If ToolStrip1.Visible = True Then
            Dim b As New ToolStripButton(el.InnerText, getFavicon(url), items_Click, el.GetAttribute("url"))
            b.ToolTipText = el.GetAttribute("url")
            ToolStrip1.Items.Add(b)
        End If

        myXml.Save(linksXml)
    End Sub

    Private Function faviconIndex(ByVal url As String) As Integer
        Dim key As New Uri(url)
        If Not imglist.Images.ContainsKey(key.Host.ToString()) Then
            imglist.Images.Add(key.Host.ToString(), favicon(url, "link.png"))
        End If
        Return imglist.Images.IndexOfKey(key.Host.ToString())
    End Function
    Private Sub items_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim b As ToolStripButton = CType(sender, ToolStripButton)
        WebBrowser1.Navigate(b.ToolTipText)
    End Sub



    Public Shared Function favicon(ByVal u As [String], ByVal file As String) As Image
        Dim url As New Uri(u)
        Dim iconurl As [String] = "http://" + url.Host & "/favicon.ico"

        Dim request As WebRequest = WebRequest.Create(iconurl)
        Try
            Dim response As WebResponse = request.GetResponse()

            Dim s As Stream = response.GetResponseStream()
            Return Image.FromStream(s)
        Catch ex As Exception
            Return Image.FromFile(file)
        End Try


    End Function

    Private Function getFavicon(ByVal key As String) As Image
        Dim url As New Uri(key)
        If Not imglist.Images.ContainsKey(url.Host.ToString()) Then
            imglist.Images.Add(url.Host.ToString(), favicon(key, "link.png"))
        End If
        Return imglist.Images(url.Host.ToString())
    End Function

    Private Sub showLinks()
        If File.Exists(linksXml) Then
            Dim myXml As New XmlDocument()
            myXml.Load(linksXml)
            Dim root As XmlElement = myXml.DocumentElement
            For Each el As XmlElement In root.ChildNodes
                Dim b As New ToolStripButton(el.InnerText, getFavicon(el.GetAttribute("url")), items_Click, el.GetAttribute("url"))
                b.ToolTipText = el.GetAttribute("url")
                ToolStrip1.Items.Add(b)
            Next
        End If
    End Sub



这就是我认为自己遇到问题的地方:

Private Sub items_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim b As ToolStripButton = CType(sender, ToolStripButton)
    WebBrowser1.Navigate(b.ToolTipText)
End Sub


顺便说一句,第一个代码块不是所有代码,它只是我遇到问题的主要部分(其他地方都没有问题)

解决方案

在声明新代码时使用AddressOf工具条按钮

试试:
昏暗b作为新ToolStripButton(el.InnerText,getFavicon(url),AddressOf items_Click,el.GetAttribute("url"))


hi
im having a problem, for which i have scoured the internet for, but ccould not find a solution for. basically when i debug it say arguement not specified for parameters sender of private sub items_click(byval sender as system.object, byval e as system.eventargs)
this is my code

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
        Dim b As New ToolStripButton(WebBrowser1.Url.AbsoluteUri)
        ToolStrip1.Items.Add(b)
    End Sub

    Private Sub addLink(ByVal url As [String], ByVal name As String)
        Dim myXml As New XmlDocument()
        Dim el As XmlElement = myXml.CreateElement("link")
        el.SetAttribute("url", url)
        el.InnerText = name

        If Not File.Exists(linksXml) Then
            Dim root As XmlElement = myXml.CreateElement("links")
            myXml.AppendChild(root)
            root.AppendChild(el)
        Else
            myXml.Load(linksXml)
            myXml.DocumentElement.AppendChild(el)
        End If
        If ToolStrip1.Visible = True Then
            Dim b As New ToolStripButton(el.InnerText, getFavicon(url), items_Click, el.GetAttribute("url"))
            b.ToolTipText = el.GetAttribute("url")
            ToolStrip1.Items.Add(b)
        End If

        myXml.Save(linksXml)
    End Sub

    Private Function faviconIndex(ByVal url As String) As Integer
        Dim key As New Uri(url)
        If Not imglist.Images.ContainsKey(key.Host.ToString()) Then
            imglist.Images.Add(key.Host.ToString(), favicon(url, "link.png"))
        End If
        Return imglist.Images.IndexOfKey(key.Host.ToString())
    End Function
    Private Sub items_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim b As ToolStripButton = CType(sender, ToolStripButton)
        WebBrowser1.Navigate(b.ToolTipText)
    End Sub



    Public Shared Function favicon(ByVal u As [String], ByVal file As String) As Image
        Dim url As New Uri(u)
        Dim iconurl As [String] = "http://" + url.Host & "/favicon.ico"

        Dim request As WebRequest = WebRequest.Create(iconurl)
        Try
            Dim response As WebResponse = request.GetResponse()

            Dim s As Stream = response.GetResponseStream()
            Return Image.FromStream(s)
        Catch ex As Exception
            Return Image.FromFile(file)
        End Try


    End Function

    Private Function getFavicon(ByVal key As String) As Image
        Dim url As New Uri(key)
        If Not imglist.Images.ContainsKey(url.Host.ToString()) Then
            imglist.Images.Add(url.Host.ToString(), favicon(key, "link.png"))
        End If
        Return imglist.Images(url.Host.ToString())
    End Function

    Private Sub showLinks()
        If File.Exists(linksXml) Then
            Dim myXml As New XmlDocument()
            myXml.Load(linksXml)
            Dim root As XmlElement = myXml.DocumentElement
            For Each el As XmlElement In root.ChildNodes
                Dim b As New ToolStripButton(el.InnerText, getFavicon(el.GetAttribute("url")), items_Click, el.GetAttribute("url"))
                b.ToolTipText = el.GetAttribute("url")
                ToolStrip1.Items.Add(b)
            Next
        End If
    End Sub



and this is where i think im getting my problems:

Private Sub items_Click(ByVal sender As Object, ByVal e As EventArgs)
    Dim b As ToolStripButton = CType(sender, ToolStripButton)
    WebBrowser1.Navigate(b.ToolTipText)
End Sub


btw the first block isnt all of the code, its just the main part of where im getting the problem(no problems anywhere else)

解决方案

Use AddressOf when declaring a new toolstripbutton

Try:
Dim b As New ToolStripButton(el.InnerText, getFavicon(url), AddressOf items_Click, el.GetAttribute("url"))


这篇关于未指定论点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆