Beispiel #1
0
        private void lvwMessages_SelectedValueChanged(object sender, EventArgs e)
        {
            if (suspendSelection)
            {
                return;
            }

            FinishEdit();
            if (lvwMessages.SelectedItems.Count == 0)
            {
                propertyGrid.SelectedObjects = null;
            }
            else
            {
                List <FormMain.MessageBreakpoint> watchs = new List <FormMain.MessageBreakpoint>();
                for (int i = 0; i < lvwMessages.SelectedItems.Count; i++)
                {
                    NativeMethods.Msgs msg = (NativeMethods.Msgs)lvwMessages.SelectedItems[i];
                    if (_Watchs.ContainsKey(msg))
                    {
                        watchs.Add(_Watchs[msg]);
                    }
                    else
                    {
                        FormMain.MessageBreakpoint mwatch = new FormMain.MessageBreakpoint();
                        mwatch.Msg         = msg;
                        mwatch.ModifiedMsg = msg;
                        mwatch.Action      = FormMain.BreakpointAction.None;
                        _Watchs.Add(msg, mwatch);
                        watchs.Add(mwatch);
                    }
                }
                propertyGrid.SelectedObjects = watchs.ToArray();
            }
        }
Beispiel #2
0
        private void btnLoad_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog dialog = new OpenFileDialog())
            {
                dialog.Filter = Properties.Resources.BreakpointsFile;
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    FileStream   stream = null;
                    BinaryReader reader = null;
                    lvwMessages.SelectedItems.Clear();
                    try {
                        stream = File.Open(dialog.FileName, FileMode.Open);
                        reader = new BinaryReader(stream);

                        int count = reader.ReadInt32();
                        _Watchs.Clear();
                        for (int i = 0; i < count; i++)
                        {
                            FormMain.MessageBreakpoint watch = new FormMain.MessageBreakpoint();
                            watch.Msg           = (NativeMethods.Msgs)reader.ReadInt32();
                            watch.Action        = (FormMain.BreakpointAction)reader.ReadInt32();
                            watch.ModifiedMsg   = (NativeMethods.Msgs)reader.ReadInt32();
                            watch.WParam        = new FormMain.MessageParam(reader.ReadInt32());
                            watch.LParam        = new FormMain.MessageParam(reader.ReadInt32());
                            watch.Modifications = (FormMain.ModifiyingSections)reader.ReadInt32();
                            _Watchs.Add(watch.Msg, watch);
                        }

                        lvwMessages.Invalidate();
                    }
                    finally {
                        if (stream != null)
                        {
                            stream.Close();
                        }
                        if (reader != null)
                        {
                            reader.Close();
                        }
                    }
                }
            }
        }