【问题标题】:How to develop my own .NET controls?如何开发自己的 .NET 控件?
【发布时间】:2011-12-21 14:57:12
【问题描述】:

长期以来,我一直在为 Windows 窗体为开发人员提供的基本控件而苦苦挣扎,但是……现在,我正在开发一个应用程序,它需要比普通“文本框”更高级的控件。

由于此时我的应用程序是关于内存管理的,我必须在表单中向用户显示以字节(或其他类型的数据)为单位的进程内存,使其能够根据需要对其进行修改.

问题来了,因为...如果我在TextBox中显示数据,它只允许我以只读文本显示数据,因为如果我让用户直接修改文本框会很乱并且不美观。

我在 SourceForge 上查看了一些关于 C# 和十六进制数据处理的项目,我发现了一个很好的项目,名为 Be.HexEditor,它有一个由其创建者开发和设计的控件,但在 GDI+ 中。

这个控件叫做HexBox,这正是我需要得到的。

你们中的任何人都知道如何开发这样的控件吗?...我会极大地促进事情。我应该阅读什么样的手册/书籍来学习这种开发?我问这个是因为我忽略了关于 GDI+ 的一切。

或者……还有其他方法吗?

【问题讨论】:

  • GDI+是WinForms中的基本绘图方式。我看不出您是如何不使用使用Graphics 类的方法编写任何重要的WinForms 应用程序的。
  • @CodyGray 事实上,你是对的。我没有在 WinForms 中开发高级和/或重要的应用程序(除了简单的窗口,我限制自己使用 .NET 平台的控件)。但是现在我想做一个不同的应用程序,我觉得有必要学习 GDI+ 来了解基本或更深的东西,如上所述。

标签: c# memory-management custom-controls gdi+


【解决方案1】:

我会使用一个文本框向用户显示当前值,并使用另一个文本框输入所需的值(也许滑块会更好)。

【讨论】:

  • 我认为你错过了问题的重点。他正在寻求有关如何在 .NET WinForms 中创建自定义控件的资源。
【解决方案2】:

我想你会发现你必须学习的是 GDI+

http://www.amazon.co.uk/GDI-Programming-Creating-Controls-Programmer/dp/1861006314

您仍然可以在 WPF 中编写控件,然后以某种方式将它们包含到您的 winforms 应用程序中,但如果您需要推送像素,GDI+ 是唯一的方法。

【讨论】:

  • 那本书有点旧了。它是为 .NET 1.0 框架编写的。我确信它所说的一切仍然准确,但它错过了许多已添加的有用内容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 2012-11-23
相关资源
最近更新 更多