private void SetCallback(IntPtr pointer, IntPtr clientData) { bool data = Convert.ToBoolean(Marshal.ReadByte(pointer)); bool changed = (data != Value); Value = data; if (changed) { OnChanged(EventArgs.Empty); } }