方法'Select'没有重载需要1个参数

时间:2013-01-02 00:52:36

标签: c# .net overloading

我是C#的新手,我正在尝试编译一个应用程序,并且我收到以下错误消息:

  

方法'Select'没有重载需要1个参数。

以下是我要面对的一段代码:

    #region Tree events
    private void treeDims_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if ((System.Windows.Forms.Control.ModifierKeys & Keys.Control) == Keys.Control)
        {// handle CTRL + A
            if (e.KeyValue == (int)System.Windows.Forms.Keys.A)
            {
                e.Handled = true;
                foreach (CDNM.Controls.Node n in this.treeDims.Nodes)
                {
                    n.Select(false);
                }
            }
        }
    }

    private void treeCubes_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
        if ((System.Windows.Forms.Control.ModifierKeys & Keys.Control) == Keys.Control)
        {// handle CTRL + A
            if (e.KeyValue == (int)System.Windows.Forms.Keys.A)
            {
                e.Handled = true;
                foreach (CDNM.Controls.Node n in this.treeCubes.Nodes)
                {
                    n.Select(false);
                }
            }
        }
    }

VS2010突出显示n.Select(false)处的错误。

我知道这应该是基本的,但由于我是新手,我不知道如何解决它。

3 个答案:

答案 0 :(得分:2)

我假设您正在使用的控件上的select方法不接受布尔参数,而是一种命令式方法,它只会导致选择相关节点。你要做的是将状态从Selected“更改为”Not Selected。“

我没有使用你正在使用的控件库,但我愿意打赌有一个类似于System.Web.UI.WebControls.Treenode控件的布尔属性设置,它有一个没有参数的TreeNode.Select()方法,并且布尔属性getter / setter TreeNode.Select

试试这个:

foreach (CDNM.Controls.Node n in this.treeDims.Nodes)
{
    n.Selected = false;
}

当然,我可能是错的。 。

答案 1 :(得分:0)

我无法识别您正在使用的控件,但有三种基本方法可以解决此类问题:

  1. 双击代码中的Select并点击F1。如果控制供应商已正确完成其工作,您将获得该方法的帮助信息。

  2. 右键单击“选择”,然后从弹出菜单中选择“转到定义”。这会将您带到可用重载列表。如果没有,则右键单击Node并执行相同操作。这将显示可用于Node的属性和方法列表。

  3. 浏览供应商的文档。如果此控件是在内部进行的,并且没有帮助文档,请咨询负责控制的团队。

答案 2 :(得分:0)

这意味着你的代码中的某个地方有一个方法调用或构造函数,它有一个不应该的参数,或者缺少它需要的参数。

注意:对于“对C#来说很新的人”来说,代码块看起来有点复杂。