c# - 在 VS 2010 C# .NET Windows 窗体中重现 Microsoft 注册表编辑器 "Edit Binary Value"窗口

标签 c# visual-studio-2010 richtextbox multiple-columns regedit

我正在尝试从 Microsoft 内置的注册表编辑器中重现一个窗口。单击值时从上下文菜单中选择“修改二进制数据...”时会打开该窗口。

目标是使用 Windows 窗体在我的 .NET C# 应用程序中制作一个相同的 (!) 窗口。

问题出在包含二进制数据的窗口中显示的文本框。我尝试过使用 RichTextBox,但它并不像看起来那么简单,尤其是在涉及到编辑数据和此文本框的行为时。

所以我有两个问题:

  1. 如何使用 Windows 窗体在 C# 中实现相同的文本框?也许您知道重现此文本框的其他一些方法?
  2. 我还需要这个文本框中使用的字体名称,我没找到:)

谢谢!

最佳答案

我可以想到两种方法来解决这个问题。第一个是 DataGrid,经过精心设计以具有透明的网格线和列之间的精确边距,并带有过滤器以仅强制使用十六进制数字。所有这一切,都与用于 ASCII 显示的富文本框一起设置,您的代码会同步它们之间的选择。

或者,您可以将 DataGrid 替换为一组 TextBox,再次设置不可见边框的样式,在用户添加更多数据时自动将新的文本框添加到该集合。

总而言之,这似乎是一项非常多的工作,尤其是在 WinForms 中 - WPF 可能会使这更容易一些,尤其是样式,但仍然需要大量工作。

关于那个控件的名称——我尝试使用 Spy++ 来嗅探它,它似乎被注册为一个名为“HEX”的窗口类,但我不确定这是否真的能让你到达某个地方:

enter image description here

关于c# - 在 VS 2010 C# .NET Windows 窗体中重现 Microsoft 注册表编辑器 "Edit Binary Value"窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12061763/

相关文章:

javascript - CKeditor 皮肤,好的皮肤以及如何构建它们?

c# - ASP.NET MVC 项目 EF 存储库模式

vb.net - Visual Studio VB 智能缩进和格式文档很疯狂——如何修复或解决方法?

visual-studio-2010 - "Coded UI Test Builder"十字准线在 IE 中不可用

visual-studio-2010 - JSON.NET 如何引用?

c# - 引用以编程方式创建的命名元素?

C# 客户端 Python 服务器 : Connection refused

c# - 具有序列 ID 的线程安全固定大小循环缓冲区

c# - 具有多个获取和参数的 Asp.net mvc api

c# - RichTextBox 滚动到结束