2010-03-25 4 views
11

Ich brauche Fähigkeit, Inhalte in Hex-Ansicht, wie diese von WinHexEmpfehlungen für ein Hex Viewer-Steuerelement für Windows.Forms?

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 

Bitte empfehlen eine Steuerung anzuzeigen. Vielen Dank.

Antwort

5

ich immer http://sourceforge.net/projects/hexbox/ verwendet, der eine HexEditor Kontrolle hat, kann aber auch in einem Nur-Lese-Modus verwendet werden.

+0

Dies scheint eine externe Datei als Eingabe zu erfordern. Gibt es etwas, das ein Byte-Array als Eingabe benötigt? Ich würde lieber nicht in eine temporäre Datei schreiben müssen, nur damit sie es wieder einlesen kann. – Tom

+0

Ja, Sie können den DynamicByteProvider verwenden, der einen Konstruktor hat, der von einem Byte-Array unterstützt wird, und die ByteProvider-Eigenschaft festlegen. – tyranid

1

können Sie versuchen, den Hex-Viewer aus diesem Projekt: http://sourceforge.net/projects/serialwizard/

Adriano

+0

Perfect! Ich danke dir sehr. –

+0

Gern geschehen. Hoffe, das funktioniert gut für dich. Wenn es nicht funktioniert, schreiben Sie mir eine Nachricht (adriano at db4o dot com) und wir können versuchen, das Problem gemeinsam anzugehen. – Vagaus

1

Sie können meine Einfache HexView Steuerung Projekt

http://simplehexviewcontrol.codeplex.com/

Einfache HexControl (HexView) ist ein klassisches Windows-Forms-Steuerelement versuchen. Es implementiert eine hexadezimale Ansicht von Bytes mit Gruppierung. Es ist blitzschnell, stellt nur den sichtbaren Rahmen eines Fensters dar und unterstützt das Malen der einzelnen Byte-Gruppen ohne das vollständige Neuzeichnen des Fensters.

enter image description here enter image description here

21

Es gibt eine ByteViewer Control in .NET Framework direkt zur Verfügung. Hier ist, wie Sie es in einer Probe WinForms C# Anwendung verwenden können (Anmerkung: Sie müssen die System.Design Assembly verweisen):

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

Und hier ist, wie es aussieht:

enter image description here

+3

Sie sind so ziemlich die einzige Person, die dies auf dem gesamten Interweb erwähnt. Es ist eine schnelle, saubere Kontrolle. Nicht massiv erweiterbar, vielleicht warum es nicht viel erwähnt wird. Trotzdem, danke! – TEK

+0

Das ist großartig, aber ich kann es nicht finden, selbst nach dem Hinzufügen der 'System.ComponentModel.Design' Referenz, verwende ich Winforms in C#. – Omarrrio

+2

@Omarrrio - lesen Sie die Antwort sorgfältig, müssen Sie eine Referenz-Assembly (DLL), nicht nur ein Namensraum hinzufügen –

2

Sie kann Wpf HexEditor-Steuerelement auf GitHub/Nuget verwenden. Kann in WPF- oder WinForm-Anwendungen verwendet werden.

Ein schnelles, vollständig anpassbares Wpf-Benutzersteuerelement zum Editieren von Datei oder Stream als hexadezimal.

https://github.com/abbaye/WPFHexEditorControl

<!-- XAML --> 
<Control:HexaEditor/> 
<Control:HexaEditor Width="NaN" Height="NaN"/> 
<Control:HexaEditor Width="Auto" Height="Auto"/> 
<Control:HexaEditor FileName={Binding FileNamePath} Width="Auto" Height="Auto"/> 

Image1

Verwandte Themen