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

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...