Так что я искал и искал Google, но я просто не могу найти ответ. Я пытаюсь установить контекстное меню текстового поля в контекстное меню, а не в контекстное меню. В окне свойств это не позволяет мне установить контекстное меню, просто полосу контекстного меню. Может ли кто-нибудь показать мне, как установить контекстное меню в текстовое поле? Я знаю, что этот ответ может быть где-то уже, но я просто не могу его найти.ContextMenu в Visual Studio
ответ
Вы должны сначала создать ContextMenu. Тогда сделайте это
private void InitializeAltContextMenu()
{
mnuContextDefault = new ContextMenu();
mnuContextDefault = this.TextBox1.ContextMenu;
mnuItmAltMenuTest = new MenuItem();
mnuItmAltMenuTest.Index = -1;
mnuItmAltMenuTest.Text = "Test Menu Item";
mnuItmAltMenuTest.Click += new System.EventHandler(this.mnuItmAltMenuTest_Click);
mnuContextAlt = new ContextMenu();
mnuContextAlt.MenuItems.Add(mnuItmAltMenuTest);
}
private void TextBox1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if ((Control.ModifierKeys == Keys.Control))
{
this.TextBox1.ContextMenu = mnuContextAlt;
TextBox1.ContextMenu.Show(TextBox1, new Point(e.X, e.Y));
}
else
{
this.TextBox1.ContextMenu = mnuContextDefault;
}
}
}
VB.NET КОД UPDATE
Private Sub InitializeAltContextMenu()
mnuContextDefault = New ContextMenu()
mnuContextDefault = Me.TextBox1.ContextMenu
mnuItmAltMenuTest = New MenuItem()
mnuItmAltMenuTest.Index = -1
mnuItmAltMenuTest.Text = "Test Menu Item"
mnuItmAltMenuTest.Click += New System.EventHandler(Me.mnuItmAltMenuTest_Click)
mnuContextAlt = New ContextMenu()
mnuContextAlt.MenuItems.Add(mnuItmAltMenuTest)
End Sub
Private Sub TextBox1_MouseDown(sender As Object, e As MouseEventArgs)
If e.Button = MouseButtons.Right Then
If (Control.ModifierKeys = Keys.Control) Then
Me.TextBox1.ContextMenu = mnuContextAlt
TextBox1.ContextMenu.Show(TextBox1, New Point(e.X, e.Y))
Else
Me.TextBox1.ContextMenu = mnuContextDefault
End If
End If
End Sub
Пожалуйста, не кормите эти вопросы. OP не смогла показать, что они сделали и где они застряли. В длинном неправильном это не помогает людям, просто выкидывая код, это не обучение. Также это помогает продвигать отладку, которая имеет решающее значение. – Codexer
Вы правы, хотя мы не должны перестать им помогать. – Hemal
Еще одна вещь, не могли бы вы объяснить OP, где это происходит именно так, что она делает и преобразует ее в VB, что и помечен OP. – Codexer
- 1. Список ошибок расширения Visual Studio ContextMenu
- 2. Visual Studio wpf project C# contextmenu icon рядом с mrenuitem
- 3. Плагин Visual Studio Visual Studio
- 4. Фрагменты Visual Studio Visual Studio
- 5. Приложение-конструктор ContextMenu в C#
- 6. Visual Studio 2003 vs. Visual Studio 2005
- 7. Visual Studio #if на Visual Studio версии
- 8. Visual Studio 6.0 для Visual Studio 2008
- 9. Visual Studio Development> Интеграция Visual Studio
- 10. Visual Studio 2015 vs Visual Studio '15'
- 11. Установка на стороне Visual Studio Visual Studio
- 12. Код Visual Studio, заменяющий Visual Studio
- 13. Ошибка выполнения Visual Studio Visual Studio
- 14. Visual Studio 2017 и код Visual Studio
- 15. Ошибка компоновщика Visual Studio Visual Studio
- 16. DirectX в Visual Studio
- 17. Ошибка в Visual Studio
- 18. XSLT в Visual Studio
- 19. UISpy в Visual Studio?
- 20. stdio.h в Visual Studio
- 21. Уведомление в Visual Studio
- 22. Бу в Visual Studio?
- 23. Отладка в Visual Studio
- 24. OMPTL в Visual Studio?
- 25. fftw в Visual Studio?
- 26. Scheduler в Visual Studio
- 27. Интернационализация в Visual Studio
- 28. управления в Visual Studio
- 29. C++ в visual studio
Пожалуйста, покажите, что вы попробовали первый. Если вы застряли, мы можем вам помочь. – Codexer
Недвижимость просто скрыта. Отрежьте пуповину мыши и напишите код. Назначьте свойство ContextMenu в своем конструкторе Sub New. –