internal void OnMouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point d = MarkedPicture.ShowToPos(e.Location); SetFocus(FindMouseOnRect(d)); } }
/// <summary> /// 根据鼠标位置改变框位置或尺寸. /// </summary> /// <param name="me"></param> public virtual void ChangeRect(Point me) { Point e = MarkedPicture.ShowToPos(me); ChangeSelf(e); if (Parent != null) { this.ShrinkToRange(Parent); } this.ExpandToIncludeSubs(MarkedPicture.ChangingEdge); return; }
internal void OnMouseDown(object sender, MouseEventArgs e) { Point de = MarkedPicture.ShowToPos(e.Location); if (e.Button == MouseButtons.Left) { WinBase mf = this.FindMouseOnRect(de); if (mf == CurFocus) { MarkedPicture.IsChangingWinNow = true; if (CurFocus != TheBoard) { //设置将要修改哪个边。 MarkedPicture.ChangingEdge = CurFocus.ShowShape.MouseOverWhere(de); } else { //单板只能修改显示位置 theMarkPicture.Cursor = Cursors.NoMove2D;//移动中心位置 MarkedPicture.ChangingEdge = Direction.center; } } else if (CurFocus is Board) { //单板只能修改显示位置 theMarkPicture.SetDownDelt(e.Location); theMarkPicture.Cursor = Cursors.NoMove2D; MarkedPicture.IsChangingWinNow = true; MarkedPicture.ChangingEdge = Direction.center; } } //else if (e.Button == MouseButtons.Right) //{ // //***** 右键按下时移动板显示位置。 // SetFocus(TheBoard); // theMarkPicture.Cursor = Cursors.NoMove2D; //} }
/// <summary> /// 将图形在板中坐标转化为在MarkedPicture中的坐标; /// </summary> /// <returns></returns> internal override Point ChangeToShowPoint() { return(new Point(MarkedPicture.PosToShowX(X), MarkedPicture.PosToShowY(Y))); }