C# problem mit Context menu strip

  • C#

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    C# problem mit Context menu strip

    hallo,
    ich wollte grade ein Context menu strip zu meiner Textbox hinzufügen aber irgentwie zeigt er mir bei rechtsklick die Box nicht an?
    mein code:

    C#-Quellcode

    1. private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
    2. {
    3. if (richTextBoxEx1.CanUndo)
    4. {
    5. contextMenuStrip1.Items["Rückgängig"].Enabled = true;
    6. }
    7. else
    8. {
    9. contextMenuStrip1.Items["Rückgängig"].Enabled = false;
    10. }
    11. if (richTextBoxEx1.SelectedText.Length == 0)
    12. {
    13. contextMenuStrip1.Items["Ausschneiden"].Enabled = false;
    14. contextMenuStrip1.Items["Kopieren"].Enabled = false;
    15. }
    16. else
    17. {
    18. contextMenuStrip1.Items["Ausschneiden"].Enabled = true;
    19. contextMenuStrip1.Items["Kopieren"].Enabled = true;
    20. }
    21. if (Clipboard.ContainsText())
    22. {
    23. contextMenuStrip1.Items["Einfügen"].Enabled = true;
    24. }
    25. else
    26. {
    27. contextMenuStrip1.Items["Einfügen"].Enabled = false;
    28. }
    29. if (richTextBoxEx1.Text.Length == 0)
    30. {
    31. contextMenuStrip1.Items["Alles auswählen"].Enabled = false;
    32. }
    33. else
    34. {
    35. contextMenuStrip1.Items["Alles auswählen"].Enabled = true;
    36. }
    37. }
    Wo rufst Du denn auf, dass die sich zeigt?
    Wobei Du das gar nicht brauchst. Jedes Control hat eine ​ContextMenu-Eigenschaft, die kannst Du einfach übernehmen: msdn.microsoft.com/en-us/libra…tmenustrip(v=vs.110).aspx

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    @Christian Du musst der RTB das ContextMenuStrip als Property zuweisen:

    Und den Code schreibst Du so:

    C#-Quellcode

    1. private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
    2. {
    3. this.rückgängigToolStripMenuItem.Enabled = richTextBoxEx1.CanUndo;
    4. this.ausschneidenToolStripMenuItem.Enabled = (richTextBoxEx1.SelectedText.Length != 0);
    5. this.kopierenToolStripMenuItem.Enabled = (richTextBoxEx1.SelectedText.Length != 0);
    6. this.einfügenToolStripMenuItem.Enabled = Clipboard.ContainsText();
    7. this.allesAuswählenToolStripMenuItem.Enabled = (richTextBoxEx1.Text.Length != 0);
    8. }
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!