Как показать подчеркивание (ярлык) без удержания Alt?
Я создал форму с ContextMenuStrip. Я установил его ярлык, используя поле "Текст" следующим образом: "& Файл". Однако, когда я открываю это контекстное меню щелчком правой кнопки мыши, подчеркивание отображается только тогда, когда я одновременно удерживаю кнопку Alt. Есть ли способ показать подчеркивание при щелчке мышью, не удерживая кнопку Alt?
1 ответ
Решение
Вы можете изменить поведение рендеринга текста (HidePrefix
) через кастом ToolStripSystemRenderer
:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
contextMenuStrip1.Renderer = new AccessKeyMenuStripRenderer();
}
private void Form1_Click(object sender, EventArgs e)
{
contextMenuStrip1.Show(Cursor.Position);
}
}
class AccessKeyMenuStripRenderer : ToolStripSystemRenderer
{
protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
e.TextFormat &= ~TextFormatFlags.HidePrefix;
base.OnRenderItemText(e);
}
}
}