其他分享
首页 > 其他分享> > DevExpress 怎么实现右键菜单(Context Menu)显示中文?

DevExpress 怎么实现右键菜单(Context Menu)显示中文?

作者:互联网

以下是一个使用 PopupMenu 的示例,实现右键菜单中文显示:

using System;
using System.Windows.Forms;
using DevExpress.XtraBars.PopupMenu;
using DevExpress.XtraEditors;

public partial class Form1 : XtraForm
{
    private PopupMenu popupMenu;

    public Form1()
    {
        InitializeComponent();
        InitializeContextMenu();
    }

    private void InitializeContextMenu()
    {
        // 初始化右键菜单
        popupMenu = new PopupMenu();

        // 添加菜单项
        popupMenu.Items.Add(new DevExpress.XtraBars.BarButtonItem { Caption = "复制", Id = 1 });
        popupMenu.Items.Add(new DevExpress.XtraBars.BarButtonItem { Caption = "粘贴", Id = 2 });
        popupMenu.Items.Add(new DevExpress.XtraBars.BarButtonItem { Caption = "剪切", Id = 3 });

        // 绑定右键菜单到控件,例如一个文本框
        textBox1.MouseDown += TextBox1_MouseDown;
    }

    private void TextBox1_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            // 显示右键菜单
            popupMenu.ShowPopup(Cursor.Position);
        }
    }
}

C#

代码说明

  1. 创建 PopupMenu: 在 InitializeContextMenu 方法中创建一个 PopupMenu 对象。
  2. 添加菜单项: 使用 BarButtonItem 创建中文菜单项,例如“复制”、“粘贴”和“剪切”。设置 Caption 属性为中文内容。
  3. 显示菜单: 在 MouseDown 事件中,捕获右键点击并通过 popupMenu.ShowPopup(Cursor.Position) 显示右键菜单。

另外一种方法:使用 ContextMenuStrip

如果您使用的是 WinForms 的 ContextMenuStrip,可以使用以下代码:

private void Form1_Load(object sender, EventArgs e)
{
    // 创建一个上下文菜单
    ContextMenuStrip contextMenu = new ContextMenuStrip();

    // 添加菜单项(中文)
    ToolStripMenuItem copyItem = new ToolStripMenuItem("复制");
    ToolStripMenuItem pasteItem = new ToolStripMenuItem("粘贴");
    ToolStripMenuItem cutItem = new ToolStripMenuItem("剪切");

    // 将菜单项添加到上下文菜单
    contextMenu.Items.Add(copyItem);
    contextMenu.Items.Add(pasteItem);
    contextMenu.Items.Add(cutItem);

    // 绑定右键菜单到控件
    textBox1.ContextMenuStrip = contextMenu;
}

C#

标签:
来源: