public GraphBox() { g = new Graph(); this.BackColor = System.Drawing.Color.White; this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.Location = new System.Drawing.Point(12, 28); this.Name = "graphBox"; this.Size = new System.Drawing.Size(563, 421); this.TabIndex = 3; this.TabStop = false; // Binding event handlers to events. MouseDown += new MouseEventHandler(pb_MouseDown); MouseUp += new MouseEventHandler(pb_MouseUp); MouseDoubleClick += new MouseEventHandler(pb_DoubleClick); MouseMove += new MouseEventHandler(pb_MouseMove); g.GraphChanged += new EventHandler(g_GraphChanged); }
private void pb_DoubleClick(object sender, EventArgs e) { MouseEventArgs me = (MouseEventArgs)e; if (g.VertAt(me.Location) == null) { Vertex v = GenerateVert(me.Location); if (v != null) g += v; } }
private void pb_MouseUp(object sender, MouseEventArgs me) { switch (me.Button) { case MouseButtons.Left: if (me.Clicks == 1) { isMouseButtonLeftDown = false; Vertex tempSecond = g.VertAt(me.Location); if (last != null && tempSecond != null) { Edge e = new Edge(last, tempSecond); g += e; } else { Invalidate(); } } break; } }