-1

我对 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).

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

4

3 回答 3

2

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

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

试试这个:

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

当然,我可能是错的。. .

于 2013-01-02T01:25:26.737 回答
0

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

  1. 双击代码中的 Select 并按 F1。如果控制供应商正确地完成了他们的工作,您将被带到该方法的帮助信息。

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

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

于 2013-01-02T00:58:27.660 回答
0

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

注意:对于“C# 新手”来说,该代码块似乎有点复杂。

于 2013-01-02T00:59:44.267 回答