【问题标题】:Cannot use ToolStripContainer in .NET 5.0无法在 .NET 5.0 中使用 ToolStripContainer
【发布时间】:2021-04-23 09:26:24
【问题描述】:

我需要在左侧创建工具条。但是工具箱没有任何 ToolStripContainer。

所以我尝试通过在设计文件中编码来手动添加 ToolStripContainer。 但是 ToolStripContainer 是用红叉画的。

 Private Sub InitializeComponent()
      Me.toolStripContainer1 = New System.Windows.Forms.ToolStripContainer()
      Me.SuspendLayout()
      Me.toolStripContainer1.Size = New System.Drawing.Size(635, 407)
      Me.toolStripContainer1.TabIndex = 0
      Me.toolStripContainer1.Text = "ToolStripContainer1"

      Me.Controls.Add(Me.toolStripContainer1)
      Me.toolStripContainer1.LeftToolStripPanel.ResumeLayout(False)
      Me.toolStripContainer1.LeftToolStripPanel.PerformLayout()
      Me.ResumeLayout(False)
      Me.PerformLayout()
 End Sub 

我可以在 .Net 5.0 中使用 ToolStripContainer

【问题讨论】:

  • 如果您只是将 ToolStrip 拖放到表单上会发生什么? -- 不要在Designer.vb 文件中添加代码。
  • 工具条已找到。但我无法从工具箱中拖动 ToolStripContainer。因为它没有显示在工具箱上。你可以看到上面的图片。
  • WinForms 支持已在 .NET 5.0 中比以前版本的 .NET Core 大大增强,但仍不完整。有一些不太常见的东西仍然不受支持,这显然是其中之一。我怀疑剩余的功能将在 .NET 6.0 和 VS 2022 中添加,因此在此之前,您要么不使用 .NET Framework,要么坚持使用 .NET Framework。
  • 作为记录,ToolStripContainer 类型确实存在于 .NET 5.0 中,但设计器支持不存在。您可能可以将代码添加到您的 Load 事件处理程序以在运行时创建、配置和添加实例,但是您对设计器代码文件所做的任何更改都会破坏设计器,因此它会出现。

标签: vb.net .net-4.0 .net-5 toolstrip toolstripcontainer


【解决方案1】:

Microsoft 似乎主张继续使用 .net 框架中的 winforms 设计器 - 本质上,您应该有两个项目,一个是您在其中进行表单设计的 .NET 框架,一个是您“添加”的 .NET core/5现有项目”表单,以便它们编译和工作(但您在另一个项目中设计它们/打开两个 VS)

更多信息请见https://github.com/dotnet/winforms/blob/main/docs/winforms-designer.md

【讨论】:

    猜你喜欢
    • 2023-01-27
    • 2018-02-10
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 2021-05-16
    • 2022-01-25
    相关资源
    最近更新 更多