本文整理汇总了C#中MenuItem.GetYPosForMenuItem方法的典型用法代码示例。如果您正苦于以下问题:C# MenuItem.GetYPosForMenuItem方法的具体用法?C# MenuItem.GetYPosForMenuItem怎么用?C# MenuItem.GetYPosForMenuItem使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MenuItem
的用法示例。
在下文中一共展示了MenuItem.GetYPosForMenuItem方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: getMenuCycleResult
private static MenuResult getMenuCycleResult(int x, int y, MenuItem menuItem, bool isNewMenu)
{
x = Math.Min(x, ZConsoleMain.WindowSize.Width - menuItem.GetCalculatedWidth);
y = Math.Min(y, ZConsoleMain.WindowSize.Height - menuItem.GetCalculatedHeight);
menuStack.Push(new MenuWithCoords(x, y, menuItem));
var resultIndex = getMenuResult(x, y, menuItem, isNewMenu);
var menuItemList = menuItem.ChildMenuItems;
if (resultIndex >= 0)
{
var item = menuItemList[resultIndex];
if (!item.HasChilds)
{
while (menuStack.Count > 0)
{
var cMenu = menuStack.Pop();
hideMenu(cMenu.X, cMenu.Y, cMenu.Menu);
}
return new MenuResult(resultIndex, item.Caption);
}
return getMenuCycleResult(x + menuItem.GetCalculatedWidth, menuItem.GetYPosForMenuItem(y, resultIndex), item, true);
}
if (resultIndex == -1)
{
hideMenu(x, y, menuItem);
menuStack.Pop();
if (menuItem.Parent != null)
{
var parentMenu = menuStack.Pop();
return getMenuCycleResult(parentMenu.X, parentMenu.Y, parentMenu.Menu, false);
}
return new MenuResult(resultIndex, string.Empty);
}
return null;
}