我是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)
处的错误。
我知道这应该是基本的,但由于我是新手,我不知道如何解决它。
答案 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)
我无法识别您正在使用的控件,但有三种基本方法可以解决此类问题:
双击代码中的Select并点击F1。如果控制供应商已正确完成其工作,您将获得该方法的帮助信息。
右键单击“选择”,然后从弹出菜单中选择“转到定义”。这会将您带到可用重载列表。如果没有,则右键单击Node并执行相同操作。这将显示可用于Node的属性和方法列表。
浏览供应商的文档。如果此控件是在内部进行的,并且没有帮助文档,请咨询负责控制的团队。
答案 2 :(得分:0)
这意味着你的代码中的某个地方有一个方法调用或构造函数,它有一个不应该的参数,或者缺少它需要的参数。
注意:对于“对C#来说很新的人”来说,代码块看起来有点复杂。