我有一个contextMenuStrip,经常(不总是,但我还没有注意到一个可重复的模式)我得到错误对话框:要访问所需的服务,“站点”不能为空。当尝试在“此处键入”字段中键入时。当我把光标点击到字段中时,它就发生了。
contextMenuStrip
的数据有人知道是什么引起的吗?
nfzehxib1#
这让我的问题消失了。我不知道是哪一步做的,但现在似乎工作正常。首先,设计器所做的就是为您编写[FormName].Designer.cs页面。你可以随时把条目的子项在自己和VS似乎是罚款。我开始这样做时,将一个具有菜单子项(在VS22中工作得很好)的旧项目作为模型。1.在Designer文件底部的对象定义中,添加菜单项的声明。1.在隐藏部分的示例化中,添加一行以创建菜单项。1.在这一点上,我注意到旧的,工作项目的所有示例化都以this为前缀(即this.LogFileToolStripMenuItem=new ToolStripMenuItem)和第二个菜单项,需要子菜单项,我添加了this,并回到设计器,一切正常工作(并继续这样做,没有错误信息)从那里出来。我不知道是哪一部分修复了它,但是当我回到设计器文件中查看如果我删除this会发生什么时,设计器编辑器已经剥离了this,但一切仍然正常。1.您需要为工具条菜单项设置三个属性。您可能可以复制现有的一个,然后更改内容以适合新的toolstripmenuitem。1.你需要做的最后一件事是将子菜单添加到父菜单中。在父级的属性定义部分中,添加AddRange行:cmsLogging.DropDownItems.AddRange(new ToolStripItem[] { cmsLogging_LogFile, cmsLogging_ShowLogFile, cmsLogging_ShowLogFileDirectory });在此之后,重新启动表单设计器,菜单项出现,一切看起来正常。作为奖励,错误消息消失了。对我很有效。
[FormName].Designer.cs
this
this.LogFileToolStripMenuItem=new ToolStripMenuItem
toolstripmenuitem
AddRange
cmsLogging.DropDownItems.AddRange(new ToolStripItem[] { cmsLogging_LogFile, cmsLogging_ShowLogFile, cmsLogging_ShowLogFileDirectory });
1条答案
按热度按时间nfzehxib1#
这让我的问题消失了。我不知道是哪一步做的,但现在似乎工作正常。
首先,设计器所做的就是为您编写
[FormName].Designer.cs
页面。你可以随时把条目的子项在自己和VS似乎是罚款。我开始这样做时,将一个具有菜单子项(在VS22中工作得很好)的旧项目作为模型。1.在Designer文件底部的对象定义中,添加菜单项的声明。
1.在隐藏部分的示例化中,添加一行以创建菜单项。
1.在这一点上,我注意到旧的,工作项目的所有示例化都以
this
为前缀(即this.LogFileToolStripMenuItem=new ToolStripMenuItem
)和第二个菜单项,需要子菜单项,我添加了this
,并回到设计器,一切正常工作(并继续这样做,没有错误信息)从那里出来。我不知道是哪一部分修复了它,但是当我回到设计器文件中查看如果我删除this
会发生什么时,设计器编辑器已经剥离了this
,但一切仍然正常。1.您需要为工具条菜单项设置三个属性。您可能可以复制现有的一个,然后更改内容以适合新的
toolstripmenuitem
。1.你需要做的最后一件事是将子菜单添加到父菜单中。在父级的属性定义部分中,添加
AddRange
行:cmsLogging.DropDownItems.AddRange(new ToolStripItem[] { cmsLogging_LogFile, cmsLogging_ShowLogFile, cmsLogging_ShowLogFileDirectory });
在此之后,重新启动表单设计器,菜单项出现,一切看起来正常。作为奖励,错误消息消失了。对我很有效。