- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 WinForms 应用程序,其中包含一个带有 ToolStripButtons 的 ToolStrip。某些按钮操作会在按钮操作发生时禁用主窗体,并在完成后重新启用它。这样做是为了确保用户在操作发生时不会点击其他地方,并且还会显示 WaitCursor 但这与问题无关。
如果用户在禁用表单时单击按钮并将鼠标光标移出其边界,即使稍后重新启用表单,按钮仍会保持突出显示(透明蓝色)。如果鼠标随后进入/离开按钮,它会再次正确显示。
我可以通过使用以下代码显示 MessageBox 来人为地重现该问题(实际操作不显示消息框,而是打开一个新表单并填充一个网格,但最终效果是相同的)。
这里是复制问题的代码片段:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
// Disable the form
Enabled = false;
// Some action where the user moved the mouse cursor to a different location
MessageBox.Show(this, "Message");
// Re-enable the form
Enabled= true;
}
}
最佳答案
我终于找到了解决办法。
我创建了这个扩展方法,它使用反射调用父工具条上的私有(private)方法“ClearAllSelections”:
public static void ClearAllSelections(this ToolStrip toolStrip)
{
// Call private method using reflection
MethodInfo method = typeof(ToolStrip).GetMethod("ClearAllSelections", BindingFlags.NonPublic | BindingFlags.Instance);
method.Invoke(toolStrip, null);
}
并在重新启用表单后调用它:
private void toolStripButton1_Click(object sender, EventArgs e)
{
// Disable the form
Enabled = false;
// Some action where the user moved the mouse cursor to a different location
MessageBox.Show(this, "Message");
// Re-enable the form
Enabled= true;
// Hack to clear the button highlight
toolStrip1.ClearAllSelections();
}
关于c# - 禁用/启用表单时 ToolStripButton 仍然突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851354/
我正在使用带有多个 ToolStripButton 的 ToolStrip。 我想要的是能够使其中一个按钮闪烁以引起用户的注意。 例如,如果他们更改了信息并需要点击保存按钮。 如果这是一个普通按钮,我
我有一个文本框、一个标准按钮和一个包含几个按钮的工具条。在文本框的验证事件中,我编码以检查它是否为空白。如果是,那么它会显示一条消息“输入值”。当单击标准按钮时文本框为空,它正在正确验证并显示消息,但
我的工具条中有一个工具条按钮,我希望在鼠标悬停时移除橙色灯光,因为我会动态更改按钮的图片.. 我该怎么做? 最佳答案 你的英语差得无可挑剔,所以我会尽力翻译。 我假设您希望在单击工具条按钮后更改它的图
如何在用户登录后从 MDIparent 禁用或隐藏 ToolStripButton? 例如,在登录表单中:如果用户输入的用户名不是 admin,则某个 ToolStripButton 将被禁用或隐藏。
有一个带有 ToolStrip 的窗体。此 ToolStrip 包含一个 ToolStripButton。我想为这个按钮分配一个图像: this.btnSaveFile.Image = Bitmap.
我想在用户将鼠标悬停在特定的 ToolStripButton 上时更改用户的光标,但不希望更改 ToolStrip 上的其他项目。如何设置按钮的光标? 最佳答案 因为 ToolStripItem 没有
我正在尝试将工具提示应用于工具条按钮,但它一直给我这个错误: 运算符“==”不能应用于“System.Windows.Forms.Control”和“System.Windows.Forms.Tool
我试图用图像显示自己的自定义工具提示,但 native 工具提示让一切变得糟糕。它仍然出现在不需要的地方。 我以这种方式创建 ToolStripButton: ToolStripButton btn
我正在实例化我自己的 ToolStripButton并将其添加到 ContextMenuStrip .它弹出,但文本被切断: string[] layouts = new string[]{"Test
我正在学习 WPF 并一直在尝试创建工具条。是否有 WinForms ToolStripButton 的直接等价物,还是仅添加普通按钮并对其进行格式化的正确使用方法? 我发现 Microsoft 有一
我有一个工具条,其中包含一个 ToolStripComboBox 和一个 ToolStripButton。我想向它们添加一个 ContextMenuStrip,但我无法直接访问工具条或其其他内容,因此
我有一个 WinForms 应用程序,其中包含一个带有 ToolStripButtons 的 ToolStrip。某些按钮操作会在按钮操作发生时禁用主窗体,并在完成后重新启用它。这样做是为了确保用户在
我正在覆盖 OnRenderButtonBackground方法以使用自定义着色,但我想知道鼠标当前是否在按钮上。 我试图获取父控件(工具条)和父窗体并将所有坐标添加在一起,但这不正确: Privat
我正在以编程方式将 ToolStripButton 项添加到上下文菜单。 那部分很简单。 this.tsmiDelete.DropDownItems.Add("The text on the item
我想将一些图像放入 ToolStripButton 中,并根据按钮的状态更改图像。 所以我将 ToolStrip 的 .ImageList 设置为我的 ImageList 并简单地更改 ToolStr
我有一个图像工具栏,我想要图像下方的文本标签。如果文本标签是多个单词,我想垂直堆叠单词。我该怎么做? 最佳答案 详细说明保罗的回答: 你不能在设计时做多行。但是在运行时,您可以像这样设置每个 Tool
我有自定义工具条按钮 BindableToolStripButton : ToolStripButton 效果很好,但我不知道是否可以将此项目添加到设计菜单中的控件.. 我可以将我的 Bindable
我的应用程序中有工具栏和具有相同选项的上下文菜单,所以我想将 ToolStripButtons 添加到 ContextMenuStrip 和 ToolStrip,不幸的是我不能这样做。即使我手动向两者
我有一个问题,场景如下: 我用一个组件 PropertyGrid 创建了用户控件。对于此 PropertyGrid,我将按钮(十六进制模式)添加到 PropertyGrid 的 ToolStrip。一
我有一个用作单选按钮的 ToolStripButton。选中时,按钮周围有蓝色轮廓,但没有背景色。对于用户来说按钮被勾选还不够清楚,所以我想改变背景颜色,让勾选状态更明显。 当 Checked 属性设
我是一名优秀的程序员,十分优秀!