【问题标题】:Adding external Folder from another Project从另一个项目添加外部文件夹
【发布时间】:2022-11-21 15:10:57
【问题描述】:

我可能面临一个基本问题。我想在这个项目链接中创建 TimePickers:TimePickerProject

该项目在 Stack 溢出答案之一中作为参考提供 Stack OverflowAnswer

您可以非常轻松地下载并直接运行该项目。但无法将其作为独立的 TimerPicker 对象添加到我自己的项目中。 TimePicker 类在 Opulos 文件夹中。如您所见,Opulos 文件夹已复制粘贴到我自己的项目中。

我可以在我的工具箱中看到 Timepicker。

但是当我尝试将它拖到我的面板时,我遇到了这个错误。

【问题讨论】:

  • 添加一个调用主类的参数化构造函数的空构造函数,例如public TimePicker() :this(3, true, true, true, true) { }(即传递默认值或将其配置为在通过工具箱创建类时生成不同的预定义行为)——我给了类快速浏览一下:它是为 .Net Framework 构建的,包括一些非常古老的范例。不过,最近添加的一些内容非常好(幸运的是,一次性物品也被如此对待)
  • 谢谢@Jimi 提供了一个没有任何参数的默认构造函数。
  • 请记住,这些课程是不是构建时考虑了 ToolBox(未在任何地方指定对 ToolBox 行为的引用),看起来所有这些都应该在代码中实例化。也就是说,您可能在其他地方遇到了同样的问题。您应该知道该怎么做(尽管应该考虑使用适当的 [ToolboxItem][ToolboxBitmap] 等装饰公共控制类)

标签: c# visual-studio winforms import


【解决方案1】:

为了更清楚地解释这个过程:

只需将 Opulos folder 粘贴到程序的根目录中即可。 (我这里是.net framework 4.8 winform)

编辑Opulos/Core/UI/TimePicker.cs

添加以下代码:

public TimePicker() :this(3, true, true, true, true) {

}

然后重建程序,你可以在工具箱中找到它。

输出:

【讨论】:

    【解决方案2】:

    如果您尝试将另一个文件夹拖到解决方案文件夹中,则可以使用默认的 Windows 文件资源管理器。如果要从另一个项目导入库,只需右键单击 Dependencies->add project reference,浏览并选择库。通常,您应该避免复制代码本身,而是添加对输出的引用。

    希望我能帮到你,如果我误解了你的问题,我道歉!

    【讨论】:

    • 我不是要添加项目参考,你是什么意思?我正在添加几个类。不想添加一个完整的项目?自己尝试一下,如果你有一个打开的 winform 项目,我的问题可以很容易地创建。
    • @MericOzcan 是的,如果您想从另一个文件夹复制一个类,您可以在 Windows 资源管理器中执行此操作。我只是说我不建议复制脚本,而是复制构建的程序集,除非您打算独立于原始文件编辑文件。
    • 嗯.. 但在那种情况下,外部项目会带来很多不必要的东西,不是吗?
    • 是的,但它更干净。许多开发人员所做的是将他们常用的所有类/代码放入一个库中,然后对其进行更新。每个开发人员都有不同的解决问题的方法,如果不这样做,您可能会发现自己会大量复制代码。此外,由于 dotnet 使用 JIT 编译,因此从未调用的函数不会占用内存。
    • 我宁愿只上课。顺便说一句,我可以在我的项目中创建 timePicker。但是在该项目中,它是作为 Panel 类中的示例代码给出的。换句话说,当我用 timePicker 复制那个面板类时,我需要处理一个面板。我只是遗漏了一些东西,我想以正确的方式清理它。
    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-10-28
    相关资源
    最近更新 更多