当前位置: 首页>>代码示例>>C#>>正文


C# GridVirtual.PositionAtPoint方法代码示例

本文整理汇总了C#中GridVirtual.PositionAtPoint方法的典型用法代码示例。如果您正苦于以下问题:C# GridVirtual.PositionAtPoint方法的具体用法?C# GridVirtual.PositionAtPoint怎么用?C# GridVirtual.PositionAtPoint使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GridVirtual的用法示例。


在下文中一共展示了GridVirtual.PositionAtPoint方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: grid_MouseDown

		protected virtual void grid_MouseDown(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
		{
			//verifico che l'eventuale edit sia terminato altrimenti esco
			if (sender.Selection.ActivePosition.IsEmpty() == false)
			{
				CellContext focusCell = new CellContext(sender, sender.Selection.ActivePosition);
				if (focusCell.Cell != null && focusCell.IsEditing())
				{
					if (focusCell.EndEdit(false) == false)
						return;
				}
			}

			//scateno eventi di MouseDown
			Position position = sender.PositionAtPoint( new Point(e.X, e.Y) );
			if (position.IsEmpty() == false)
			{
				Cells.ICellVirtual cellMouseDown = sender.GetCell(position);
				if (cellMouseDown != null)
				{
					sender.ChangeMouseDownCell(position, position);

					//Cell.OnMouseDown
					CellContext cellContext = new CellContext(sender, position, cellMouseDown);
					sender.Controller.OnMouseDown(cellContext, e);
				}
			}
			else
				sender.ChangeMouseDownCell(Position.Empty, Position.Empty);
		}
开发者ID:Xavinightshade,项目名称:ipsimulator,代码行数:30,代码来源:Grid.cs

示例2: grid_MouseMove

		protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
		{
			if (e.Button == MouseButtons.Left && sender.Selection.EnableMultiSelection)
			{
                //Scroll if necesary
                sender.ScrollOnPoint(e.Location);



                Position pointPosition = sender.PositionAtPoint(e.Location);
                Cells.ICellVirtual cellPosition = sender.GetCell(pointPosition);

				//Only if there is a FocusCell
				CellContext focusCellContext = new CellContext(sender, sender.Selection.ActivePosition);
				if (focusCellContext.Cell != null && focusCellContext.IsEditing() ==false)
				{
                    Position selCornerPos = pointPosition;
                    Cells.ICellVirtual selCorner = cellPosition;

                    ////If the current Focus Cell is a scrollable cell then search the current cell (under the mouse)only in scrollable cells
                    //// see PositionAtPoint with false parameter
                    //if (sender.GetPositionType(sender.Selection.ActivePosition) == CellPositionType.Scrollable)
                    //{
                    //    selCornerPos = sender.PositionAtPoint(new Point(e.X, e.Y));
                    //    selCorner = sender.GetCell(pointPosition);
                    //}

                    if (selCornerPos.IsEmpty() == false && selCorner != null)
					{
						//Only if the user start the selection with a cell (m_MouseDownCell!=null)
						if (sender.MouseDownPosition.IsEmpty() == false && sender.Selection.IsSelectedCell(sender.MouseDownPosition))
						{
                            sender.ChangeMouseSelectionCorner(selCornerPos);
							//sender.ShowCell(l_SelCornerPos);
						}
					}
				}
			}
		}
开发者ID:wsrf2009,项目名称:KnxUiEditor,代码行数:39,代码来源:MouseSelection.cs

示例3: grid_MouseMove

		protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
		{
			Position l_PointPosition = sender.PositionAtPoint(new Point(e.X, e.Y));
			Cells.ICellVirtual l_CellPosition = sender.GetCell(l_PointPosition);

			//Call MouseMove on the cell that receive tha MouseDown event
			if (sender.MouseDownPosition.IsEmpty() == false)
			{
				Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition);
				if (l_MouseDownCell!=null)
				{
					sender.Controller.OnMouseMove(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e);
				}
			}
			else //se non ho nessuna cella attualmente che ha ricevuto un mousedown, l'evento di MouseMove viene segnalato sulla cella correntemente sotto il Mouse
			{
				// se non c'è nessuna cella MouseDown cambio la cella corrente sotto il Mouse
#if !MINI
				sender.ChangeMouseCell(l_PointPosition);//in ogni caso cambio la cella corrente
#endif
				if (l_PointPosition.IsEmpty() == false && l_CellPosition != null)
				{
					// I call MouseMove on the current cell only if there aren't any cells under the mouse
					sender.Controller.OnMouseMove(new CellContext(sender, l_PointPosition, l_CellPosition), e);
				}
			}
		}
开发者ID:Xavinightshade,项目名称:ipsimulator,代码行数:27,代码来源:Grid.cs

示例4: grid_MouseUp

		protected virtual void grid_MouseUp(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
		{
			if (sender.MouseDownPosition.IsEmpty() == false)
			{
				Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition);
				if (l_MouseDownCell!=null)
					sender.Controller.OnMouseUp(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e );

				sender.ChangeMouseDownCell(Position.Empty, sender.PositionAtPoint(new Point(e.X, e.Y)));
			}
		}
开发者ID:Xavinightshade,项目名称:ipsimulator,代码行数:11,代码来源:Grid.cs

示例5: grid_Click

		protected virtual void grid_Click(GridVirtual sender, EventArgs e)
		{
			Position clickPosition = sender.PositionAtPoint(sender.PointToClient(Control.MousePosition));
			Position clickStartPosition = sender.PositionToStartPosition(clickPosition);

			//Se ho precedentemente scatenato un MouseDown su una cella 
			// e se questa corrisponde alla cella sotto il puntatore del mouse (non posso usare MouseCellPosition perchè questa viene aggiornata solo quando non si ha una cella come MouseDownPosition
			if (sender.MouseDownPosition.IsEmpty() == false && 
				sender.MouseDownPosition == clickStartPosition /* MouseCellPosition && 
				m_MouseDownCell.Focused == true //tolto altrimenti non funzionava per le celle Selectable==false*/)
			{
				Cells.ICellVirtual mouseDownCell = sender.GetCell(sender.MouseDownPosition);
				if (mouseDownCell != null)
				{
					sender.Controller.OnClick(new CellContext(sender, sender.MouseDownPosition, mouseDownCell), EventArgs.Empty);
				}
			}		
		}
开发者ID:Xavinightshade,项目名称:ipsimulator,代码行数:18,代码来源:Grid.cs

示例6: grid_DragOver

		protected virtual void grid_DragOver(GridVirtual sender, System.Windows.Forms.DragEventArgs e)
		{
			Position pointPosition = sender.PositionAtPoint(sender.PointToClient( new Point(e.X, e.Y) ));
			Cells.ICellVirtual cellPosition = sender.GetCell(pointPosition);

			CellContext cellContext = new CellContext(sender, pointPosition, cellPosition);
			sender.ChangeDragCell(cellContext, e);
			sender.Controller.OnDragOver(cellContext, e);
		}
开发者ID:Xavinightshade,项目名称:ipsimulator,代码行数:9,代码来源:Grid.cs


注:本文中的GridVirtual.PositionAtPoint方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。