Visual Studio 2008 的智能设备 (Windows CE) 解决方案中的继承控制无法正常工作

Inherited control in Smart Device (Windows CE) solution of Visual Studio 2008 doesn't work properly

当我在 Visual studio 2008 的智能设备 (Windows CE) 解决方案中继承 UserControl 时,我遇到了设计时问题。 假设我有这样的 class:

public class MyLabel:Label
{
//Do nothing at all
}

当我将 MyLabel 放入表单时,它在设计时不显示其文本,但在 运行 时它工作正常。所以问题是 Visual Studio Label 工作正常,但如果我只是继承它,它不会在设计时显示其文本。

我已经在 MSDN 中阅读了一些文章,例如 link Creating and Migrating Smart Device Custom Controls by Using Visual Studio 2005 和其他网站关于如何在智能设备解决方案中设计 UserControl 但是它太完美了并且有很多其中的代码让我感到困惑。 我只想MyLabel在设计时正确显示它的文本,我不想要完美的UserControl所以如果你遇到我的问题请分享你的解决方案。

它对我有用。您的 MyLabel class 中是否有更多您为简洁起见而排除的导致问题的逻辑?

以下是我遵循的步骤:

  1. 使用 Visual Studio 2008 为 Windows Mobile 5 创建一个新的 C# 智能设备项目。
  2. 添加新的 Class > MyLabel。
  3. Copy/Paste 您问题中的代码。
  4. 构建解决方案。
  5. 将 MyLabel 控件从工具箱拖到窗体中。
  6. 将 MyLabel.Text 属性 更改为 "Hello, World!"。
  7. 文本在设计模式和运行时显示 "Hello, World!"。

有时您必须添加一个 XMTA file 来帮助设计人员,但我认为这不是其中一种情况。

如果你想自己画画,那么你会遇到一些问题,正如对你问题的评论回复中提到的那样。