2011-12-21 30 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

相關問題