gpt4 book ai didi

C# - SaveFileDialog 的上下文菜单错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:43 24 4
gpt4 key购买 nike

我在 pictureEdit (Devexpress) 上使用上下文菜单,因此当用户右键单击并选择菜单项时,它应该保存文件。但是当 saveDialog 窗口打开时上下文菜单仍然显示。

如何删除该错误?

    private void InitializeContextMenu()
{
ui_PictureEdit.Properties.ContextMenuStrip = new ContextMenuStrip();

var menu = new ContextMenuStrip();
menu.Items.Add("Save image");
menu.ItemClicked += ContextMenu_SaveImageClicked;
menu.Show();

ui_PictureEdit.Properties.ContextMenuStrip = menu;
}



using (var dialog = new SaveFileDialog())
{
dialog.DefaultExt = "*.png";
dialog.Filter = "Image files (*.png)|*.png|All files (*.*)|*.*";
if (dialog.ShowDialog() == DialogResult.OK)
{
ui_PictureEdit.Image.Save(dialog.FileName);
}
}

最佳答案

所以你可以关闭这个问题:

menu 对象移动到 ContextMenu_SaveImageClicked 处理程序可以访问的范围,然后将此行包含在处理程序中:

menu.Hide();

更详细地说,上下文菜单是一个顶级窗口,它将出现在任何其他非顶级窗口之上,包括文件对话框。单击一个项目不会自动隐藏上下文菜单,至少在执行事件处理程序之前不会,这就是为什么您需要在弹出对话框之前手动执行此操作。

关于C# - SaveFileDialog 的上下文菜单错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com