使用向左和向右箭头键选择上一个/下一个菜单而不是下一个/上一个菜单

2023-12-13

在完整的应用程序中注意到,但在简单的演示中可以完全重现:

我有一个MenuStrip包含三个菜单,A, B, and C。每个菜单包含三个项目,A1/A2/.../C2/C3.

When I press Alt, the first menu A becomes selected. I can then use the and keys to select other menus. That is as it should be.

However, when I press to open a menu, I can still use and to select other menus, but the order is reversed: selects the next menu, and the previous.

我无法确定我的本地系统是否有问题,是否是本地系统中的错误MenuStrip组件,或者如果我忘记设置必需的属性。这三种情况对我来说都很奇怪,因为在这三种情况下我都期望someone已经遇到这个问题了,我什至找不到其他人询问这个问题。

如果不清楚我在问什么,这是一张图片:

Menu strip problem

在我忘记提及之前,有no相关代码。该演示应用程序是一个全新的 WinForms 项目,有一个MenuStrip控件添加到其默认表单,并且具有三个菜单,每个菜单包含三个项目,对于每个菜单,我只设置了文本。


这是一个错误/错误功能MenuStrip.

看着ToolStripDropDown.ProcessArrowKey使用 Reflector 的实现表明箭头键会根据情况而反转SystemInformation.RightAlignedMenus。那是不对的。它should取决于菜单条本身的从右到左模式,有时(通常?)可能匹配SystemInformation.RightAlignedMenus,但并非总是如此,而且不在我的系统上。

SystemInformation.RightAlignedMenus用户可以通过“控制面板”、“平板电脑设置”、“其他”、“惯用手”进行配置,事实上,如果我将其更改为“左撇子”,菜单就会正常运行。对我来说,默认且正确的设置是右手。自从MenuStrip组件在我的系统上根本无法通过键盘使用,我将用标准替换它的使用MainMenu成分。

Update:我实际上使用派生控件来提供漂亮的菜单图像。它是基于“视觉样式菜单”的 Microsoft 示例。功能更齐全的实现也适用于 Windows XP 和更早版本(在这种情况下使用所有者绘制的菜单),可在带有 C# 图标的 Vista 菜单,但这对我来说比必要的更复杂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用向左和向右箭头键选择上一个/下一个菜单而不是下一个/上一个菜单 的相关文章

  • 如何添加表单加载事件(目前不起作用)

    我有一个 Windows 窗体表单 我试图在表单加载时显示用户控件 不幸的是 它没有显示任何内容 我究竟做错了什么 请看下面的代码 AdministrationView wel new AdministrationView public P
  • 使用文本和进度条填充 DataGridView

    我正在创建一个多线程应用程序 其中每个线程将在我的应用程序中显示为一行DataGridView 我想要一个ProgressBar每行指示相应的线程进度 问题是 这可能吗 如果是这样 怎么办 我添加了类 DataGridView Progre
  • File.ReadAllLines 或流读取器

    我们可以使用以下方式读取文件StreamReader http msdn microsoft com en us library vstudio system io streamreader或通过使用File ReadAllLines ht
  • 如何在 C# 中从 sql server 运行代码 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions SqlCommand cmd new
  • 根据值从绿色到红色[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要一个在 vb net 中返回从红色 值 0 到绿色 值 100 的颜色的函数 另外 我需要一种方法来确定字体的颜色应该是白色还是
  • 为什么在 WinForms 中可以跨线程添加控件,而在 WPF 中却不能?

    在虚拟 WinForms 应用程序中 我可以在设计时创建 ListBox 在运行时创建后台线程 然后从后台线程将控件添加到 ListBox 但如果我在 WPF 中执行相同的操作 则会出现错误 为什么我可以在 WinForms 中执行此操作
  • 数据绑定问题,请解释

    public partial class Form1 Form MyClass myClass new MyClass one two public Form1 InitializeComponent textBox1 DataBindin
  • 如何将 DataGridViewLinkColumn 属性添加到 DataGridView 中动态生成的列?

    发展于 c winforms没有任何数据库连接 描述 在我的 DataGridView 中 列是动态生成的 在某些时候 某些列需要 DataGridViewLinkColumn 属性 我尝试了很多方法 但没有实现这一点 我希望这里有人能帮助
  • 如何使 WinForms UserControl 填充其容器的大小

    我正在尝试创建一个多布局主屏幕应用程序 我在顶部有一些按钮链接到应用程序的主要部分 例如模型中每个实体的管理窗口 单击这些按钮中的任何一个都会在面板中显示关联的用户控件 面板包含用户控件 而用户控件又包含用户界面 WinForms User
  • 从嵌套 ToolStripMenuItem 检索时,ContextMenuStrip.Owner 属性为 null

    我有一个ContextMenuStrip设置有两个ToolStripItem是 第二ToolStripItem有两个额外的嵌套ToolStripItems 我将其定义为 ContextMenuStrip cms new ContextMen
  • 在 C# 中为父窗体中的子窗体控件添加事件处理程序

    我有两种形式 一种是带有按钮和文本框的父表单 单击该按钮时 将打开一个对话框 该子窗体又包含一个文本框和一个按钮 现在我想要的是 每当子表单文本框中的文本更改时 父表单文本框中的文本会自动更改 为了获得这个 我所做的是 Form3 f3 n
  • Windows 窗体中的提示对话框

    我在用System Windows Forms但奇怪的是没有能力创造它们 如何在没有 javascript 的情况下获得类似 javascript 提示对话框的内容 MessageBox 很好 但是用户无法输入内容 我希望用户输入任何可能的
  • Math.Sin、Math.Cos 和 Math.Tan 精度以及正确显示它们的方法

    我正在用 C 编写一个计算器 textBoxResult是一个文本框 我在其中显示数字 recount是以度为单位获取角度并以弧度为单位返回的函数 我的角度是从texBoxInput public double recount int nu
  • 运行 Aero 时如何确定实际窗口窗体大小(包含所有非客户端元素)?

    我试图将我的表单精确定位在任务栏上方 不幸的是 我的努力受到了以下事实的阻碍 this Height在我的表单上返回一个比实际表单 包含所有边框 标题栏等 小 10 像素的值 我正在运行带 Aero 的 Windows 7 当 Aero 关
  • FFplay成功移入我的Winform中,如何设置它无边框?

    用这个代码 在 C 应用程序中显示 tcp 视频流 来自 FFPLAY FFMPEG https stackoverflow com questions 14201894 show a tcp video stream from ffpla
  • 如何在没有临时文件的情况下将文件从 Windows 窗体(listView)拖放到桌面(任何资源管理器窗口)

    我知道这通常是用临时文件实现的 但这在这里不起作用 因为我们正在处理存储在数据库中的相当大的文件 到目前为止 我的想法是创建一个具有唯一名称的小型临时文件 并执行 FileSystemWatcher 监视放置以获取路径 但这似乎不是最佳选择
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • C# 用户控件作为自定义面板

    我创建自己的用户控件 其中仅包含一个面板 当我在设计器中拖动 myPanel 对象 然后尝试在其上添加按钮时 该按钮实际上已添加到表单的控件中 是否有我必须设置的属性 属性才能执行此操作 这是执行我想要的操作的另一种方式 public cl
  • 如何防止 RichTextBox 刷新其显示?

    我有一个 RichTextBox 我需要经常更新 Text 属性 但是当我这样做时 RichTextBox 会令人烦恼地 闪烁 因为它会在整个方法调用过程中刷新所有内容 我希望找到一种简单的方法来暂时抑制屏幕刷新 直到我的方法完成 但我在网
  • MS Office PIA“向后兼容性”

    我已经成功完成了与 MS Word 集成的 Windows 窗体应用程序 该应用程序写入 Word 模板中的合并字段 我使用 MS Word 2007 制作了该模板 但以兼容模式将其保存为 97 2003 dot 文件 由于我安装了 Off

随机推荐

  • 在Python中使用继承

    这是我的作业 我之前在网站上看到过它 但看起来它尚未解决 并且我收到的错误消息与之前提出该问题的人不同 问题的第一部分是定义从 Employee 继承的子类 Worker 并包含一个引用另一个员工 该员工的经理 的属性 您应该定义一个方法
  • JMeter:如何知道为什么 JMeter 中的正则表达式提取器没有提取数据

    我想知道为什么 JMeter 中的正则表达式提取器在参数化后不提取数据 响应消息 内部服务器错误 添加的表达式有 名称 EVENTVALIDATION id EVENTVALIDATION 值 名称 VIEWSTATE id VIEWSTA
  • 将 ASP.NET 应用程序连接到 QuickBooks Online Edition

    我正在尝试创建一个连接到 QuickBooks Online Edition 的 ASP NET 页面 读取几个值并显示结果 到目前为止 我已经下载了 QuickBooks SDK 但我无法找到有关如何创建 asp net 页面以连接到 Q
  • 如何将 IN 与块而不是对象一起使用?

    Rebol 中的 IN 函数查找字段是否在对象中 USAGE IN object word DESCRIPTION Returns the word or block in the object s context IN is a nati
  • 如何检测来电和去电结束状态? iPhone

    我有一个要求 即应用程序应在安装后消失 并且在来电或去电时 在通话后不久应用程序应提示并显示屏幕 安装后如何消失应用程序 如何检测来电和去电 来电和去电结束后如何显示屏幕 最主要的是我是为个人而不是应用商店制作这个 因此 如果您有任何想法
  • SVN如何解决在两个分支上添加文件时的新树冲突

    当合并几个分支 使用 SVN 1 6 1 时 两个分支上都添加了一个文件 然后在这些单独的分支中处理 我遇到了新的树冲突之一 C foo txt gt local obstruction incoming add upon merge 我需
  • 通过替换字符重命名文件并覆盖

    在 Windows XP 上 在文件文件夹中 我需要重命名一些文件 将文件名中的一个字符替换为另一个字符 并覆盖任何已具有该名称的文件 例如 该文件夹包含以下 2 个文件 fileA xml fileb xml 我需要重命名fileA xm
  • 如何设置鼠标位置?

    我需要设置鼠标在屏幕上的位置 在其他一些类似的问题中 建议使用CGDisplayMoveCursorToPoint CGDirectDisplayID display CGPoint point 但我不知道如何获得CGDirectDispl
  • 两个有序可观察量的完全外连接

    假设我们有两个可观察量Observable
  • Javascript - 通过键值从数组中删除对象

    我有一个对象数组 let people Name Bob Age 45 Name Jim Age 45 let person people filter person gt person Name Bob 这会返回 Bob 但我如何删除他呢
  • 根据值将一列转换为多列

    In Python I am wondering if there is a way to transform a one column dataframe from this 进入这个 来源DF In 204 df Out 204 Cou
  • R 在 Lime 上解释 - 存储在“object”和“newdata”中的特征名称不同

    您好 我正在研究在 LIME 模型上使用 R 解释 当我运行这部分时一切都很好 Library library tm library SnowballC library caTools library RWeka library caret
  • 将 localStorage 值获取到 php [重复]

    这个问题在这里已经有答案了 我在 localStorage 中设置了一个变量 我想将它放入 php 中 当php执行时 该值已经在本地存储中设置 但是我应该如何进入php 我尝试过这样的事情 myvar 但这由于某些原因给出了Uncaugh
  • 当传递给函数时,如何强制警告使用错误大小的数组?

    假设您有一个以字符串作为参数的函数 void foo char arg 如果我们确定数组 不要与字符串长度混淆 谢谢 chux 将始终具有一定的大小 假设为 8 那么我们可以这样做 void bar char arg 8 然后这样称呼它 c
  • 聚合物 3 - 谷歌地图

    我想知道如何将 Google 地图包含在 Polymer 3 中 我刚刚从 Polymer 2 升级到 Polymer 3 这是我的示例 不是入门套件的工作基础 import PolymerElement html from polymer
  • 构建 QGIS 时未解析的符号

    我已经能够从这一步取得进展 在 Windows 7 上构建 QGIS 源代码 不工作 我正在尝试使用 Visual Studio 10 Express 构建最新的 QGIS 2 10 1 但在构建 ALL BUILD 时获取这些未解析的符号
  • 我在每个工作表的 VBA 循环中搞砸了什么?

    目前 我必须一次发送多封信件 并且通常只替换单元格中的一两个单词 问题是我需要将这些单词加粗 并且在 150 个工作表上单独使用这个宏会很乏味 我对编码非常陌生 并尝试在线搜索以编辑此代码以循环所有工作表 但我尝试的所有操作似乎只会更改我所
  • 频繁地在 ObjectOutputStream 上调用 reset() 可以吗?

    我读过一些让我不确定并寻找替代方法的地方 是否打电话reset 太频繁会导致网络紧张 还是不必要的 我正在使用 TCP 通过 ObjectOutputStream 发送对象 对象值在再次写入之前会发生更改 现在相同的对象但包含不同的值 没有
  • Spring boot - 发生非法反射访问操作

    我向演示应用程序添加了两个新的依赖项 即 spring 集成和 spring 集成文件 之后我在控制台中收到以下警告 应用程序工作正常 但它困扰着我 我怎样才能克服这个问题 WARNING Illegal reflective access
  • 使用向左和向右箭头键选择上一个/下一个菜单而不是下一个/上一个菜单

    在完整的应用程序中注意到 但在简单的演示中可以完全重现 我有一个MenuStrip包含三个菜单 A B and C 每个菜单包含三个项目 A1 A2 C2 C3 When I press Alt the first menu A becom