private void EndMultiselect() { this.m_Multiselecting = false; this.m_WillMultiselect = false; this.m_SelectedElements.Clear(); var r = new Rectangle( this.m_MultiselectStartX, this.m_MultiselectStartY, this.m_MultiselectEndX - this.m_MultiselectStartX, this.m_MultiselectEndY - this.m_MultiselectStartY); r.Fix(); r = r.Apply(1 / this.Zoom); foreach (FlowElement el in this.m_Elements.Reverse<FlowElement>()) { if (r.IntersectsWith(el.Region)) { this.m_SelectedElements.Add(el); } } this.Invalidate(); }