protected bool EditLongHexValue(TagNode tag) { if (FormRegistry.EditByteArray != null) { TagNodeLongArray latag = tag.ToTagLongArray(); byte[] byteData = new byte[latag.Length * 8]; for (int i = 0; i < latag.Length; i++) { byte[] buf = BitConverter.GetBytes(latag.Data[i]); Array.Copy(buf, 0, byteData, 8 * i, 8); } ByteArrayFormData data = new ByteArrayFormData() { NodeName = NodeName, BytesPerElement = 8, Data = byteData, }; if (FormRegistry.EditByteArray(data)) { latag.Data = new long[data.Data.Length / 8]; for (int i = 0; i < latag.Length; i++) { latag.Data[i] = BitConverter.ToInt64(data.Data, i * 8); } IsDataModified = true; return(true); } } return(false); }