webForumDet fria alternativet

[C#]New-knapp i en meny-rad

.NET

1 svar · 431 visningar · startad av pirate

Medlem sedan aug. 200541 inlägg
Frågan#1

Jag håller på att koda en "new" knapp i en menyrad till en texteditor. Den är tänkt att fungera likt vilken "new" knapp som helst. Det är tre scenarion jag kan komma på som man behöver ha med.
1. När textfilen är helt ny och klickar på new igen så ska den inte göra nåt för utom att fortfarande visa editorn.
2. När man läser in en textfil och sen klickar på new så ska den i fall inget är ändrat visa en ny tom text area.
3. När man läser in en textfil och sen klickar på new så ska den om en keypressed är triggad då fråga användaren om h*n vill spara.

Jag har förstått man ska ha en keypressed event som fångar upp tangenten(erna) och jag vet hur jag ska initiera keypressed event grejen men ska jag verkligen ha en metod som fångar upp alla keys...

Här är koden som jag har nu, där den frågar om användaren vill spara så fort man gör nåt med den

private void exMenuNew_Click(object sender, EventArgs e) {
            if (!exTextBox.Modified) {
                exTextBox.Clear();
                exTextBox.ResetText();
            }
            else {
                DialogResult dr = MessageBox.Show("Save First?", "New", MessageBoxButtons.YesNoCancel);
                if (dr == DialogResult.Cancel) {
                    return;
                }
                else if (dr == DialogResult.Yes) {
                    //Save
                    SaveFile();
                    exTextBox.Clear();
                    chosen_File = "";
                }
                else {
                    exTextBox.Clear();
                    chosen_File = "";
                }
            }
        }
Medlem sedan jan. 20022 440 inlägg
#2

Det snyggaste är väl att fånga alla keys och köra en switch case på de som du vill göra n got med?

721 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
584 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)