Gå til innhold

Anbefalte innlegg

Jeg holder på med et program som bruker tekstkommandoer som input, og har prøvd å implementere auto fullføring av kommandoer for at det skal gå raskere å få ting gjort. Dette er en del av koden:

else if (e.KeyChar != (char)Keys.Back)
		{
			foreach (string command in commands)
			{
				if (command.Length > CommandTextBox.Text.Length)
				{
					try
					{
						for (int i = 1; i < command.Length - 1; i++)
						{
							string comp = CommandTextBox.Text + e.KeyChar.ToString();
							if (comp.Equals(command.Substring(0, i)))
							{
								int length = comp.Length;
								CommandTextBox.Text = command;
								e.Handled = true;
								CommandTextBox.Select(command.Length - (command.Length - length) , command.Length - 1);
							}
						}
					}
					catch { }
				}

Denne koden virker ca halvparten av tiden. Den virker ikke hvis en del av teksten allerede er markert, eller hvis differansen mellom lengden av teksten og lengden av kommandoen er 3 eller mindre. Er det noen som vet hvorfor det er slik, eller i det minste vet hvordan jeg løser problemet?

Edit: Forresten, jeg fikk aldri svar på det forrige sprøsmålet mitt, er det ikke noen som vet? Spørsmål angående flash

Endret av Velena
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...