示例#1
0
        private void pbPipeline_MouseClick(object sender, MouseEventArgs e)
        {
            Point pt = new Point(e.X - Component.Size / 2, e.Y - Component.Size / 2);

            if (buttonPump.Checked)
            {
                changes = pg.AddPump(Convert.ToDouble(numCurrentFlow.Value), Convert.ToDouble(numCapacity.Value), pt);
            }
            else if (buttonSink.Checked)
            {
                changes = pg.AddSink(pt, Convert.ToDouble(numCapacity.Value));
            }
            else if (buttonMerger.Checked)
            {
                changes = pg.AddMerger(pt);
            }
            else if (buttonDelete.Checked)
            {
                changes = pg.DeleteElementFromGround(new Point(e.X, e.Y));
            }
            else if (buttonSplitter.Checked)
            {
                changes = pg.AddSplitter(pt);
            }
            else if (buttonAdjSplitter.Checked)
            {
                changes = pg.AddAdjustableSplitter(pt, Convert.ToDouble(numPercentage.Value / 100));
            }
            else if (buttonEdit.Checked)
            {
                EditComponent(new Point(e.X, e.Y));
            }
            else if (buttonPipe.Checked)
            {
                pg.AddPipe(new Point(e.X, e.Y), (double)numCapacity.Value);
            }
            pbPipeline.Invalidate();
        }