针对Windows.Forms的Hex Viewer Control的建议?

时间:2010-03-25 22:24:25

标签: c# .net vb.net winforms

我需要能够在Hex View中显示内容,如WinHex

中所示
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000000   EF BB BF 0D 0A 4D 69 63  72 6F 73 6F 66 74 20 56   ..Microsoft V
00000010   69 73 75 61 6C 20 53 74  75 64 69 6F 20 53 6F 6C   isual Studio Sol
00000020   75 74 69 6F 6E 20 46 69  6C 65 2C 20 46 6F 72 6D   ution File, Form
00000030   61 74 20 56 65 72 73 69  6F 6E 20 31 30 2E 30 30   at Version 10.00
00000040   0D 0A 23 20 56 69 73 75  61 6C 20 53 74 75 64 69   ..# Visual Studi
00000050   6F 20 32 30 30 38 0D 0A  50 72 6F 6A 65 63 74 28   o 2008..Project(
00000060   22 7B 46 31 38 34 42 30  38 46 2D 43 38 31 43 2D   "{F184B08F-C81C-
00000070   34 35 46 36 2D 41 35 37  46 2D 35 41 42 44 39 39   45F6-A57F-5ABD99

请推荐一个控件。谢谢。

3 个答案:

答案 0 :(得分:29)

.NET Framework中直接提供了ByteViewer Control。以下是如何在Winforms C#应用程序示例中使用它(注意:您需要引用System.Design程序集):

public Form1()
{
    InitializeComponent();
    ...
    ByteViewer bv = new ByteViewer();
    bv.SetFile(@"c:\windows\notepad.exe"); // or SetBytes
    Controls.Add(bv);
}

以下是它的样子:

enter image description here

答案 1 :(得分:5)

我一直使用具有HexEditor控件的http://sourceforge.net/projects/hexbox/,但也可以在只读模式下使用。

答案 2 :(得分:2)

您可以在

尝试 Simple HexView Control 项目

http://simplehexviewcontrol.codeplex.com/

Simple HexControl(HexView)是一种经典的Windows窗体控件。它通过分组实现字节的十六进制视图。它速度极快,只渲染一个窗口的可见帧,并支持绘制各个字节组,而不需要重绘整个窗口。

enter image description here enter image description here