2012-01-22 10 views
9

Czy jest sposób na osiągnięcie tego? Chcę przekazać jakiś tekst i mają pojawić się na linii wejściowej - zamiast „Imię i nazwisko: <kursora>” chcę „Imię i nazwisko: Domyślnie tekst edytowalny <kursor>Console.ReadLine ("Domyślny tekst do edycji tekstem na linii")

+1

To może być duplikat: http://stackoverflow.com/q/1655318/1108263 –

+1

myślę, że to moreso duplikatem http://stackoverflow.com/questions/7565415/edit-text-in -c-ostra-konsola-aplikacja – Slugart

+0

To pytanie nie ma rozwiązania ... :( – nim

Odpowiedz

1

Przypisz wartość domyślną do łańcucha znaków i zastąp ją, jeśli użytkownik wprowadził coś.

Dim name, s As String 

name = "John" 
Console.Write("Enter your Name (just hit <Enter> to keep ""{0}""): ", name) 
s = Console.ReadLine() 
If Trim(s) <> "" Then 
    name = s 
End If 
Console.WriteLine("Result = {0}", name) 
Console.ReadKey() 
12

OK, znalazłem. Przepraszam.

static void Main(string[] args) 
{ 
    Console.Write("Your editable text:"); 
    SendKeys.SendWait("hello"); //hello text will be editable :) 
    Console.ReadLine(); 
} 
+5

To będzie miało interesujące efekty uboczne, gdy okno konsoli nie będzie miało ostrości: –

+0

Tak, ale robię to tylko natychmiast śledzenie wiersza poleceń mojego programu Program (przynajmniej teraz) jest interaktywny z wiersza poleceń i zachowuje informacje o sesji między połączeniami, ostatecznie nie wróci do trybu dos .. –

+1

Nie można znaleźć 'SendKeys'. – Shimmy

Powiązane problemy