Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过windows窗体中的按钮/文本框添加到C#中的列表_C#_Winforms_Visual Studio_List - Fatal编程技术网

如何通过windows窗体中的按钮/文本框添加到C#中的列表

如何通过windows窗体中的按钮/文本框添加到C#中的列表,c#,winforms,visual-studio,list,C#,Winforms,Visual Studio,List,如何通过windows窗体中的按钮/文本框添加到C#中的列表。我试图添加到我的阻止站点列表中,但似乎不起作用,下面是两个片段 private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e) { List<string> BlockList = new List<string>(); BlockList.Add("http://www.google.com

如何通过windows窗体中的按钮/文本框添加到C#中的列表。我试图添加到我的阻止站点列表中,但似乎不起作用,下面是两个片段

private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    List<string> BlockList = new List<string>();
    BlockList.Add("http://www.google.com");
    BlockList.Add("http://www.google.co.uk");
    BlockList.Add("http://www.bing.com");
    string[] BlockArray = BlockList.ToArray();
    for (int i = 0; i < BlockArray.Length; i++)
    {
        if (e.Url.Equals(BlockList[i]))
        {
            e.Cancel = true;
            MessageBox.Show("Booyaa Says No!", "NO NO NO", MessageBoxButtons.OK, MessageBoxIcon.Hand); // Block List Error Message
        }
    }
}

您的变量阻止列表必须是全局的

你只有这样的地方申报单

   List<string> BlockList = new List<string>();
List BlockList=newlist();

在“webBrowser1\u导航”功能中,变量块列表必须是全局的

你只有这样的地方申报单

   List<string> BlockList = new List<string>();
List BlockList=newlist();

在函数“webBrowser1_Navigating”中,您需要将块列表添加为form类中的成员,而不是函数中的局部变量。然后您将能够使用int i两个函数

只需将此成员添加到表单类:

private List<string> BlockList = new List<string>() { "http://www.google.com", "http://www.google.co.uk", "http://www.bing.com" };

您需要将块列表添加为form类中的成员,而不是函数中的局部变量。然后您将能够使用int i两个函数

只需将此成员添加到表单类:

private List<string> BlockList = new List<string>() { "http://www.google.com", "http://www.google.co.uk", "http://www.bing.com" };


还有什么在这里不起作用?@BradleyDotNET添加函数给出一个空错误,当单击您的
区块列表
变量DNE outside
webBrowser1\u Navigating
时,它不会添加到列表中,因为它是在那里创建的。您不经常需要查找C范围问题的副本。还有什么在这里不起作用?@BradleyDotNET添加函数给出了一个空错误,并且在单击您的
块列表时不会将其添加到列表中,因为它是在那里创建的
webBrowser1\u Navigating
外部变量DNE。您不经常需要为C#scoping问题查找重复项。如果我将其放置在构造函数中,则在“webBrowser1\u Navigating”中会出现错误在BlockList上,您可以将其作为字段或属性添加到存在这两个方法的类中。然后你可以在同一个类构造函数中初始化它。如果我把它放在构造函数中,它会在BlockList上的“webBrowser1_导航”中出现错误。你可以将它作为字段或属性添加到存在这两个方法的类中。然后你可以在同一个类构造函数中初始化它。谢谢你的工作!但当我运行Winform时,它会将其添加到列表中。但是,当我再次运行应用程序时,它会忘记它。BlockList变量不会持久化,因此您需要将其存储在数据库或配置文件中。那么,哪一个更好?你能举个例子吗?谢谢你的努力!但当我运行Winform时,它会将其添加到列表中。但是,当我再次运行应用程序时,它会忘记它。BlockList变量不会持久化,因此您需要将其存储在数据库或配置文件中。那么,哪一个更好?你能举个例子吗。
private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
{
    if (BlockList.Contains(e.Url.ToString()))
    {
        e.Cancel = true;
        MessageBox.Show("Booyaa Says No!", "NO NO NO", MessageBoxButtons.OK, MessageBoxIcon.Hand); // Block List Error Message
    }
}