2011-12-21 32 views
2

我一直在用Windows Forms为开发人员提供的基本控件挣扎了很长时间,但是......现在,我正在开发一个需要比普通“TextBox”更高级控制的应用程序。如何开发自己的.NET控件?

因为在这个时候,我的应用程序是关于内存管理的,所以我必须以表单的形式显示进程内存以字节(或其他类型的数据)给用户,让它能够修改它,因为他想。

问题就来了这里,因为......如果我表现出一个TextBox的数据,它只是让我在只读文本显示的数据,因为如果我让用户直接修改文本框,这将是非常凌乱和不美观。

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

该控件被称为HexBox,这正是我需要得到的。

你们有没有人知道如何开发这样的控件?...我会大大方便事情。我应该阅读什么样的手册/书籍来学习这种发展?我问这是因为我忽略了关于GDI +的一切。

或...还有其他方法可以做到吗?

+0

GDI +是在WinForms中绘制的基本方法。我没有看到你是如何编写任何非平凡的WinForms应用程序的,而没有使用'Graphics'类的方法。 – 2011-12-21 15:13:42

+0

@CodyGray事实上,你是对的。我还没有开发WinForms中的高级和/或重要应用程序(除了简单的窗口,我仅限于使用.NET平台的控件)。但是现在我想要做一个不同的应用程序,我觉得有必要学习GDI +来进行基本或更深层次的事情,如上所述。 – Unbr0ken 2011-12-21 16:15:36

回答

0

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

+0

我想你错过了这个问题的重点。他要求提供关于如何在.NET WinForms中创建自定义控件的资源。 – 2011-12-21 15:15:26

0

我想你会发现它是你必须学会​​

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

您可能仍然能够编写控件WPF然后将它们包括以某种方式进入你的WinForms应用程序的GDI +,但如果你需要推像素GDI +是唯一的方法。

+0

那本书有点旧了。它是为.NET 1.0框架编写的。我相信它所说的所有内容都依然“准确”*,但它却错过了大量有用的东西。 – 2011-12-21 15:14:35

相关问题