2010-03-25 12 views
11

Necesito capacidad de mostrar contenido en Hex Vista, como esto de WinHexRecomendaciones para un control de visor hexagonal para 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 

favor recomendar un control. Gracias.

Respuesta

5

siempre he utilizado http://sourceforge.net/projects/hexbox/ que tiene un control HexEditor sino que también puede ser utilizado en un modo de sólo lectura.

+0

Esto parece requerir un archivo externo como entrada. ¿Hay algo que pueda tomar una matriz de bytes como entrada? Preferiría no tener que escribir en un archivo temporal para que pueda volver a leerlo. – Tom

+0

Sí, puede usar el DynamicByteProvider que tiene un constructor respaldado por una matriz de bytes y establecer la propiedad ByteProvider. – tyranid

1

Puede probar el visor hexadecimal de este proyecto: http://sourceforge.net/projects/serialwizard/

Adriano

+0

perfecto! Muchas gracias. –

+0

De nada. Espero que esto funcione bien para ti. Si no funciona, envíame una línea (adriano at db4o dot com) y podemos tratar de resolver el problema juntos. – Vagaus

1

Puede intentar mi simple proyecto de Control HexView en

http://simplehexviewcontrol.codeplex.com/

HexControl simple (HexView) es un clásico de Windows Forms control. Implementa una vista hexadecimal de bytes con agrupamiento. Es increíblemente rápido, solo muestra el marco visible de una ventana y permite pintar los grupos de bytes individuales sin redibujar la ventana total.

enter image description here enter image description here

21

Hay una ByteViewer Control directamente disponible en el .NET Framework. He aquí cómo usted puede utilizarlo en un Winforms C aplicación de ejemplo # (nota: hay que hacer referencia al ensamblado System.Design):

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

Y así es como se ve:

enter image description here

+3

Usted es, casi, la única persona que menciona esto en todo el interwebs. Es un control rápido y ordenado. No masivamente extensible, quizás por qué no se menciona mucho. Aún así, gracias! – TEK

+0

Esto es genial, pero no puedo encontrarlo incluso después de agregar la referencia 'System.ComponentModel.Design', estoy usando winforms en C#. – Omarrrio

+2

@Omarrrio: lea detenidamente la respuesta, necesita agregar un ensamblaje de Referencia (dll), no solo un espacio de nombres –

2

Usted puede usar el control Wpf HexEditor en GitHub/Nuget. Se puede usar en aplicaciones WPF o WinForm.

Un control de usuario de Wpf rápido y totalmente personalizable para editar archivos o transmitir como hexadecimal.

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

Cuestiones relacionadas